Error handeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

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

19/04/2024 17:44:12
 
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.