Error handeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »
Sven b

Sven b

04/06/2011 10:23:08
Quote Anchor link
Hallo,

Ik heb een vraag met betrekking tot het omgaan met errors. De code hieronder zet ik altijd in mijn script om te zien welke errors ik krijg. Ik krijg bij mijn formulier vaker een undefined error, omdat de $naam nog niet door $_POST['naam'] gedefinieerd is geworden. Ondanks deze error werkt mijn script perfect. Zonder de error_reporting zou ik deze erorr niet te zien krijgen. Hoe belangrijk is het om deze error toch op te lossen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
error_reporting(E_ALL);
ini_set('display_errors', 'true');
echo mysql_error();
 
PHP hulp

PHP hulp

21/11/2024 20:47:07
 
Wouter J

Wouter J

04/06/2011 10:33:57
Quote Anchor link
Zonder error reporting krijg je nooit een error te zien...
Het is dus altijd belangrijk om alle errors en notice op te lossen. Hoe beter je script hoe sneller en hoe makkelijker te gebruiken.

Bij een formulier -zo als jij zegt- is het verstandig om te kijken of het verzonden is. Dat kan met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# Formulier is verzonden
}
?>

En als je wilt weten of een variabele al geset is kan je isSet gebruiken.

Daarnaast is het zomaar echoën van mysql_error() niet verstandig, maar ik denk dat je dit alleen maar zo hebt gedaan als voorbeeldje.

Lees ook eens dit voor goede error handling.
 
Sven b

Sven b

04/06/2011 10:45:00
Quote Anchor link
Bedankt voor de snelle reactie. Je weet me wel wat leesvoer te geven :P

Ik heb de error opgelost, maar ik vroeg me gewoon af of het veel uitmaakte als het het de werking van het script niet beinvloedde. Ik heb in dit geval voor de isset functie gekozen om dit probleem op te lossen. Toch kan het best omslachtig zijn om dergelijke undefined errors weg te werken. Elke $naam moet gedefinieerd zijn en dat kan niet altijd in een script zo zijn. Ik heb mijn script toegevoegd om te laten zien wat ik bedoel. MIsschien ook handig script voor andere lezers. Deze namen script zet peter-paul of PeTeR-PAuL of o'conner om in Peter-Paul en O'Conner.

Wouter je zegt trouwens dat je en request method kunt gebruiken. Ik heb begrepen dat je site daarmee hack gevoeliger wordt. Is dat zo?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'true');
echo mysql_error();
$name = (isset($_POST['voornaam'])) ? ucwords(strtolower($_POST['voornaam'])) : "";

  if(strpos($name, "'")) {    
    $pos = strpos($name, "'") + 1;
     echo '1';
    }

  if (strpos($name, "-")) {    
    $pos = strpos($name, "-") + 1;
    echo '2';
    }

  if (!preg_match('/[-\']/', $name)){
    $pos = $name; //als ik dit niet definieer krijg ik een error
    echo '3';
  }

  $name = substr_replace($name, strtoupper($name[$pos]), $pos, 1);
    echo "Fixed name is: {$name}<br />\n";
?>


Edit: Ik heb altijd de error_repport aan staan om te zien wat er fout gaat. Mijn site is dan ook nog niet online. In dit voorbeeld zie je ook echo 1, 2, 3 staan en dit was voor mijn eigen om te zien welk pad de code nam.

MOcht deze code omslachtig zijn of beter kunnen dan hoor ik het graag!
Gewijzigd op 04/06/2011 10:46:22 door Sven b
 
Wouter J

Wouter J

04/06/2011 11:32:22
Quote Anchor link
Die echo mysql_error is alleen nodig als je mysql gebruikt en alleen als er een fout is bij een mysql functie. Zodra je dit niet hebt moet je dit gewoon weglaten.

Een variabele moet altijd uit de quotes. Dus niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$naam
= 'Sven';
echo "Hallo $naam";
// Maar
echo 'Hallo '.$naam;
?>

(dit had ik al een keer gezegd...)

De manier in je if statement is verkeerd. str_pos geeft namelijk de STRing_POSitie terug. Dit kan 0 zijn, wat wordt aangezien als false en dit terwijl het true is. Gebruik dus === true.

I.p.v. !preg_match('/[-\']/', $name) kan je ook preg_match('/[^-\']/', $name) gebruiken, of dit beter is weet ik niet.

Wat jij in dit script doet kan volgens mij veel sneller met ucwords.
 
Sven b

Sven b

04/06/2011 11:47:14
Quote Anchor link
hehe,

bedankt voor je snelle reactie. Ik zal de aanpassingen maken. Het string_positie verhaal snap ik nog niet helemaal, maar ga ik nog mee stoeien.

Je geeft aan dat ucwords sneller gaat. Dat klopt wanneer ik gewoon een naam sven heb, maar als iemands naam o'conner of jean-paul is dan werkt ucwords niet meer, want met alleen ucwords krijg je dan.

O'conner en Jean-paul, terwijl het moet zijn... O'Conner en Jean-Paul. Dat is wat dit script doet of begreep je dit al en is er toch een snellere manier?
 
Wouter J

Wouter J

04/06/2011 17:15:11
Quote Anchor link
Ik zou het dan aanpakken dat je de string breek bij - of ', dit doe je bijv. met explode.
Vervolgens ga je met de array die je nu hebt elk woord met ucwords vergroten. Dan voeg je alles weer samen met een - of een '.

Ik heb het even getest en jou manier is sneller. Ik had gedacht dat het simpeler zou zijn met ucwords. Maar jou code heeft 0.000056982040405273 seconden nodig en die van mij 0.00010013580322266, het scheelt dus 5 tienduizendste seconde.
 
Sven b

Sven b

04/06/2011 20:23:47
Quote Anchor link
Aaah nice :P

hoe je dat dan met explode zou doen zou ik dan niet weten. Ik snap dat je een - of een ' kan herkennen en die dan omzet of een spatie er tussen knalt, maar dan moet je ook de spaties er weer alle spaties verwijderen. Wat als het nu o'conner van der janssen is?

Ik heb trouwens nog nagedacht over je tip:
Quote:
De manier in je if statement is verkeerd. str_pos geeft namelijk de STRing_POSitie terug. Dit kan 0 zijn, wat wordt aangezien als false en dit terwijl het true is. Gebruik dus === true.



De string positie kan geen 0 zijn of ken jij iemand die 'sven heet? Of een andere dergelijke naam. Ik denk dat er geen enkele naam in de wereld met een - of een ' begint. Toch vraag ik me af wat je precies bedoelde met al die === erin zetten, want ik zie niet waar ik die er in zou moeten zetten.

Ik krijg in mijn script een error:
3 Notice: Uninitialized string offset: 0 in


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php      $name = (isset($_POST['voornaam'])) ? ucwords(strtolower($_POST['voornaam'])) : "";
      if(strpos($name, "'")) {    
        $pos = strpos($name, "'") + 1;
         echo '1';
        }

      if (strpos($name, '-')) {    
        $pos = strpos($name, '-') + 1;
        echo '2';
        }

      if (!preg_match('/[-\']/', $name)){
        $pos = $name;
        echo '3';
      }

                                
$name = substr_replace($name, strtoupper($name[$pos]), $pos, 1); //hier krijg ik de error
            echo "Fixed name is: {$name}";      
?>


Ik heb geprobeerd om dit stukje code alleen te laten werken wanneer er gesubmit is, maar dat werkt niet. De code werkt goed wanneer ik een naam submit. Dus mijn idee was om de hele code dit te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if (isset($_POST['submit']) AND $_POST['naam'])){
   // gehele code
}


Echter bij deze code doet hij niet meer een echo afgeven. Ik snap alleen niet hoe dat kan, omdat dit wel logischerwijs zo zou moeten werken.

Btw. Wouter hoe test je de snelheid van je script? Dat is echt wel handig... Kan ik nog wat leuke testjes doen. Heb je het volgende getest?

I.p.v. !preg_match('/[-\']/', $name) kan je ook preg_match('/[^-\']/', $name) gebruiken, of dit beter is weet ik niet.


Groetjes Sven
Gewijzigd op 04/06/2011 20:25:21 door Sven b
 
Wouter J

Wouter J

04/06/2011 23:40:46
Quote Anchor link
Over de pos. Ik zou voor de zekerheid toch gewoon === true gebruiken, het is altijd veiliger en je weet nooit wat er ingevoerd wordt. Hoe dit werkt staat uitgelegd op php.net. Typ maar eens php.net/functieNaam en je krijgt een uitgebreide documentatie over die functie.

Een voorbeeld van hoe je een formulier goed verwerkt: http://snipplr.com/view/54888/verwerking-formulier/

De snelheid van een script test je door gebruik te maken van microtime:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$begin
= microtime(true);
// De code die getest moet worden
$verschil = (microtime(true)) - $begin;
?>


Met explode krijg je alle namen in een array, met een foreach loop kan je die dan bewerken.

@Hieronder, bedankt. Heb het aangepast.
Gewijzigd op 05/06/2011 09:05:32 door Wouter J
 
Maarten PHP

Maarten PHP

05/06/2011 08:15:57
Quote Anchor link
Wouter J op 04/06/2011 23:40:46:
Over de pos. Ik zou voor de zekerheid toch gewoon === true gebruiken, het is altijd veiliger en je weet nooit wat er ingevoerd wordt. Hoe dit werkt staat uitgelegd op php.net. Typ maar eens php.net/functieNaam en je krijgt een uitgebreide documentatie over die functie.

Een voorbeeld van hoe je een formulier goed verwerkt: http://snipplr.com/view/54888/verwerking-formulier/

De snelheid van een script test je door gebruik te maken van microtime:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$begin
= microtime(true);
// De code die getest moet worden
$verschil = (microtime(true) - $begin;
?>


Met explode krijg je alle namen in een array, met een foreach loop kan je die dan bewerken.


Je mist een haakje in je code.
 
Wouter J

Wouter J

05/06/2011 16:47:11
Quote Anchor link
Ik heb getest welke sneller is !preg_match('/[-\.]/') of preg_match('/[^-\.]/'). Na 1000 keer uitvoeren waren de resultaten heel ongelijkmatig. Na 10000 keer begon het al wat preciezer te worden en na 100000 keer krijg ik de hele tijd ong. dit:
!preg_match('/[-\.]/') 3.5565569400787E-5
preg_match('/[^-\.]/') 3.4309375286102E-5
Dit betekend dus dat preg_match('/[^-\.]/') sneller is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.