waar exception gooien?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

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 »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

UX Writer (m/v/d)

UX Writer (m/v/d) Everything we do, starts with you. Together with you, we build the most human-centric fintech. We have the ambition to create the next. And - with Bertelsmann - a strong foundation to start from. Let’s make it new – for society and for yourself. Wij zijn op zoek naar een UX Writer (m/v/d) Fulltime - Op ons kantoor in Amsterdam of Heerenveen / deels vanuit huis Als UX Writer bij Riverty hou jij je bezig met onze strategie om daar te zijn waar onze gebruikers zijn en op de manier waarop zij ons nodig hebben, terwijl wij

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »
Ozzie PHP

Ozzie PHP

08/05/2014 12:19:34
Quote Anchor link
Ola peepz,

Puur uit nieuwsgierigheid... waar in een functie gooi jij je exception?

Vroeger deed ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

public function foo() {
    if (isset($this->bar)) {
        return $this->bar;
    }

    throw Exception('bar not found');
}


?>

Ik koos voor deze aanpak omdat een "positief" if-statement sneller is dan een "negatief" if-statement. Ik deed het dus voor performance.

Tegenwoordig gebruik ik echter een "negatief" if-statement, en return ik de waarde pas aan het eind van de functie. Dan krijgen we dus dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

public function foo() {
    if (!isset($this->bar)) {
        throw Exception('bar not found');    
    }

    return $this->bar;
}


?>

Voor mijn gevoel is dit een logischere, duidelijkere opbouw van de functie.

Toch zag ik eerder deze week iemand op het forum de eerste versie gebruiken, en dus vroeg ik me af welke versie jullie gebruiken. De eerste of de laatste?
Gewijzigd op 08/05/2014 15:17:40 door Ozzie PHP
 
PHP hulp

PHP hulp

18/05/2024 14:35:25
 
Snelle Jaap

Snelle Jaap

08/05/2014 14:43:03
Quote Anchor link
Ik doe het altijd met try catch.
 
Ozzie PHP

Ozzie PHP

08/05/2014 14:43:54
Quote Anchor link
Euh... dat is op dit voorbeeld toch niet van toepassing :-s
 
Dos Moonen

Dos Moonen

08/05/2014 15:11:26
Quote Anchor link
Dan had je het topic niet "waar foutafvanging" moeten noemen. Je wilt nu namelijk weten waar je de fout zou moeten gooien.

Precondities heb ik het liefst bovenaan. En op zo'n manier dat daar ook de foutmelding staat die bij de preconditie hoort. In dat geval dus bovenaan.

Postcondities zoals "deze methode mag nooit null returnen" komen dan waarschijnlijk wel weer onderaan.

Doe wat het meest leesbaar is. En aangezien smaken verschillen mag je zelf bepalen wat dat is. Zolang je maar argumenten kunt verzinnen en verdedigen.
Oh, en zoals bijna altijd: doe dit op een case by case basis.
Gewijzigd op 08/05/2014 15:16:41 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

08/05/2014 15:19:34
Quote Anchor link
>> Dan had je het topic niet "waar foutafvanging" moeten noemen. Je wilt nu namelijk weten waar je de fout zou moeten gooien.

Fixed :)

>> Postcondities zoals "deze methode mag nooit null returnen" komen dan waarschijnlijk wel weer onderaan.

Hoe bedoel je dit? Wat versta je onder een "postconditie"?
 
Dos Moonen

Dos Moonen

08/05/2014 15:46:40
Quote Anchor link
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
22
23
24
25
26
27
28
package me.darsstar

import static java.util.Objects.requireNonNull;

...

    public SomeObject someMethod(String miauw, int offset, int length) {
        requireNonNull(miauw, "Violation of non-null contract for argument miauw");

        if (offset < 0 || offset >= miauw.length()) {
            throw new IllegalArgumentEception("Invalid offset");
        }

        if (length < 0 || length >= miauw.length() - offset) {
            throw new IllegalArgumentEception("Invalid length");
        }

        SomeObject value;

        ...

        value = injectedObject.someOtherMethod();

        ...

        // dit hier
        return requireNonNull(value, "Preventing violation of non-null contract for the return value");
    }
 
Ozzie PHP

Ozzie PHP

08/05/2014 15:52:37
Quote Anchor link
Ah oke... ik moet even goed kijken. Is dit javascript?

Maar je doet dus een controle in de return. Ik zou dan zelf voordat ik return kijken of ie niet null is.
 
Dos Moonen

Dos Moonen

08/05/2014 15:59:25
Quote Anchor link
Het is Java.

Dit doet het zelfde.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
        // dit hier
        requireNonNull(value, "Preventing violation of non-null contract for the return value");

        return value;
    }

Post condities zijn condities die waar moeten zijn aan het eind van de methode.
Objects.requireNonNull(Object, String) source code
 
Ozzie PHP

Ozzie PHP

08/05/2014 16:03:58
Quote Anchor link
Ah oke... als ik het goed begrijp is dat dus hetzelfde als dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if ($value === null) {
  throw Exception('you fool!');
}

return $value;
?>

Zo bedoel je?
 
- Pepijn  -

- Pepijn -

08/05/2014 16:25:47
Quote Anchor link
Zoals hierboven, gebruik ik..
Gewijzigd op 08/05/2014 16:25:59 door - Pepijn -
 



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.