hoeveel error-levels?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Front end developer

Functie Jij als front end developer gaat werken binnen de teams van onze klant, uiteraard met alle moderne technieken. Opdrachten worden echt gericht op jouw leerdoelen en jouw behoeftes. Wij hebben een omgeving gecreëerd waarin je echt jezelf kan zijn en waar echt gekeken wordt naar jouw voorkeuren. Maak je een fout? Geen probleem, leer ervan en dan ga weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en dus jezelf snel ontwikkelen. Eisen Je bent communicatief vaardig en houdt van een dynamische omgeving Je hebt HBO werk- en denkniveau Je hebt gedegen kennis

Bekijk vacature »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Pagina: 1 2 3 volgende »

Ozzie PHP

Ozzie PHP

25/11/2013 11:41:35
Quote Anchor link
Ola,

Als er in mijn applicatie iets fout gaat, dan wil ik daar een error-level aan kunnen koppelen.

Zelf dacht ik om gebruik te gaan maken van 3 gradaties:

1) notice: een kleine fout, bijv. een user vult een getal in in plaats van een string
2) warning: een serieuze fout, bijv. een file kan niet worden opgeslagen
3) error: er gaat iets goed mis, bijv. er kan geen database-verbinding tot stand komen

Een notice zou ik dan alleen loggen in een log-bestand. Een warning zou ik zowel loggen als mailen, en bij een error zou ik loggen en mailen en de rest van de applicatie stoppen.

Zijn deze 3 gradaties toereikend volgens jullie? Of zijn er nog tussenstappen te bedenken, en zo ja welke?
Gewijzigd op 25/11/2013 11:49:42 door Ozzie PHP
 
PHP hulp

PHP hulp

06/01/2025 06:49:57
 
Dos Moonen

Dos Moonen

25/11/2013 11:54:31
Quote Anchor link
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md

Zorg dat alle 8 levels beschikbaar zijn. Hoeveel je er daadwerkelijk gebruikt is een ander verhaal. Das is namelijk jouw keuze.
 
Ozzie PHP

Ozzie PHP

25/11/2013 11:57:06
Quote Anchor link
Hey Dos, deze link zag ik laatst ook voorbij komen. Maar ik vind 8 levels nogal overdreven als je het mij vraagt. Dat is toch veel teveel?
 
Kris Peeters

Kris Peeters

25/11/2013 11:58:45
Quote Anchor link
Er zijn nog onderscheidingen die je kan maken.

- 1) Merk ten eerste op: als er 1 parse error in je .php bestand staat, wordt het hele bestand niet uitgevoerd. Dus dat kan je moeilijk echt opvangen.

- 2) Dan zijn er fouten die een IDE kan vinden. bv. je roept een functie op; die functie is nergens te vinden. Hiervoor moet je php niet uitvoeren om de fout te vinden.

- 3) Runtime errors:
* Stel: je krijgt op basis van een ajax-request een functienaam mee. Bij het uitvoeren van het Ajax-verzoek moet je die functie dan uitvoeren.
Indien je een foute naam krijgt, kan je die functie niet uitvoeren (wegens onbestaande).
Het punt is: de fout ontstaat pas nadat het script is beginnen runnen

* bv. fetchen van een $res die afkomstig is van een mysql_query die false teruggeeft ... Een parser of een IDE kan onmogelijk op voorhand weten dat die $res false zal zijn. Dat weet je slechts in runtime

Als je er in slaagt de twee laatste uit mekaar te halen, zeker doen.

-----

Het punt is vooral: Error 2) zou je eigenlijk nooit mogen voor hebben; tenzij wanneer je aan het schrijven bent.

Runtime errors zijn errors die je in de loop van het gebruik kan merken. Als de website niet grondig getest is, kan je, misschien maanden later, pas voor het eerst die fout zien.
Gewijzigd op 25/11/2013 12:07:46 door Kris Peeters
 
Ozzie PHP

Ozzie PHP

25/11/2013 12:15:42
Quote Anchor link
Kris, dankjewel voor je reactie. Het gaat mij juist om exceptions die je zelf kunt opvangen. Stel dat ik een bestand wil opslaan. Dan doe ik een try en catch. Op het moment dat het bestand niet kan worden opgeslagen, dan wil ik dat er actie wordt ondernomen. De gradatie die hier volgens mij bij hoort is een WARNING (zie mijn eerste bericht). Ik zou dan loggen en (naar mezelf) mailen dat een bestand niet kan worden opgeslagen.

Behalve een WARNING zou ik dan denken aan een NOTICE en een ERROR (zie voor de omschrijving weer mijn eerste bericht). Mijn vraag is of je nog meer levels nodig hebt, of dat dit de lading dekt.
 
Kris Peeters

Kris Peeters

25/11/2013 13:05:06
Quote Anchor link
Ik zou de redenering van php volgen.

Een error stopt het script.
Een warning stopt het script niet. (maar waarschijnlijk zal de gebruiker content ontbreken door de warning)
Een notice betekent zo goed als niets in mijn ogen. Het verandert meestal niets aan de logica.

---

Sowieso, als je voorzichtig bent, krijg je geen errors.
Dat vergt wel extra if's, soms diep genest.

Maar jij suggereert om zelf exceptions op te roepen.
Dat is meer de Java aanpak. Mensen met een C verleden, zullen dat waarschijnlijk wat minder doen.
Mij geen probleem hoor.
 
Ozzie PHP

Ozzie PHP

25/11/2013 13:11:40
Quote Anchor link
@Kris: dat zijn dus ook de 3 levels die ik in gedachten had.

Euh, het is toch goed om exceptions te gebruiken?
 
Ward van der Put
Moderator

Ward van der Put

25/11/2013 13:51:23
Quote Anchor link
Kris Peeters op 25/11/2013 13:05:06:
Ik zou de redenering van php volgen.

Dat is een lastige redenering, want als je die lijn doortrekt, zou je alles afhankelijk moeten maken van de huidige instelling van error_reporting() en bij exceptions moeten terugvallen op de Standard PHP Library (SPL).

Bij een OOP framework kun je, denk ik, beter het advies van Dos volgen en de LoggerInterface implementeren. Die logt ook meer dan alleen fouten, waaronder "interesting events" zoals een gebruiker die inlogt, en heeft een apart level voor debugging. Heb je dat ook meteen meegenomen.
 
Ozzie PHP

Ozzie PHP

25/11/2013 13:56:54
Quote Anchor link
>> waaronder "interesting events" zoals een gebruiker die inlogt

Dit kan inderdaad interessant zijn, maar heeft verder niets met error handling te maken. Ik wil graag weten hoeveel gradaties er zijn waarin je zelf fouten kunt afhandelen. Volgens mij zijn dat er maar 3:

notice - er gaat iets kleins mis, bijv. een user die verkeerde input invoert
warning - er gaat serieus iets mis wat aandacht nodig heeft, bijv. een bestand dat niet kan worden opgeslagen
error - foute boel, er gaat iets dusdanig mis dat de applicatie gestopt moet worden, bijv. een database die geen connectie kan maken

Ik zou denken dat dit alles is, maar wellicht zie ik iets over het hoofd?

>> en heeft een apart level voor debugging

Wat kun je hier eigenlijk mee. Waar heb je dit voor nodig?
 
Ward van der Put
Moderator

Ward van der Put

25/11/2013 14:18:12
Quote Anchor link
Als je exceptions afvangt, zijn drie niveaus niet toereikend. Je hebt dan niet slechts "een error", maar bijvoorbeeld ook een catchable runtime error. Neem een cURL-verbinding die upstream ergens data vandaan haalt: die kan een error (server onbereikbaar) keren in een warning wanneer je terug kunt vallen op een lokale cache. In een log wil je daarvoor twee items op een ander niveau terugvinden: het falen van de cURL-verbinding en aansluitend het gemopper van de klasse die de verbinding gebruikte.

Debuggen kun je zo simpel of uitgebreid maken als je zelf wilt. Bij exceptions is vooral Exception::getTrace() belangrijk: hieruit kun je aflezen welke route exceptions hebben afgelegd door je applicatie. De LoggerInterface leent zich ook voor het loggen van dit soort debugmeldingen. Vandaar dat ik het advies van Dos zou volgen: implementeer de LoggerInterface, want dan ben je meteen klaar en hoef je niet later het wiel opnieuw uit te vinden.
 
Ozzie PHP

Ozzie PHP

25/11/2013 14:27:35
Quote Anchor link
>> Als je exceptions... die de verbinding gebruikte.

Oké, maar op het moment dat je applicatie door kan gaan dan is het dus een WARNING (iets wat aandacht behoeft, maar de applicatie hoeft niet te stoppen).

Wat betreft het debuggen. Ik begrijp niet WANNEER je een debug-actie wilt loggen. Als er iets fout gaat wil je toch altijd debug informatie hebben?
 
Ward van der Put
Moderator

Ward van der Put

25/11/2013 14:40:50
Quote Anchor link
Ozzie PHP op 25/11/2013 14:27:35:
>> Als je exceptions... die de verbinding gebruikte.

Oké, maar op het moment dat je applicatie door kan gaan dan is het dus een WARNING (iets wat aandacht behoeft, maar de applicatie hoeft niet te stoppen).

Niet als je OOP programmeert. De cURL-klasse weet dan niet waarvoor zij wordt gebruikt en hoort dat ook niet te weten. Die klasse kan dus geen onderscheid maken tussen een warning en een notice. Pas de andere klasse maakt daarvan een notice als deze het probleem in een catch omzeilt.

Ozzie PHP op 25/11/2013 14:27:35:
Wat betreft het debuggen. Ik begrijp niet WANNEER je een debug-actie wilt loggen. Als er iets fout gaat wil je toch altijd debug informatie hebben?

Meestal wil je dat natuurlijk op je scherm zien. Maar er zijn situaties waarin loggen beter is. Straks laat je bijvoorbeeld testgebruikers los op een bèta. Je gaat dan niet zitten wachten op hun bugreports, maar logt de bugs.

Als je met twee schermen werkt, kun je sneller debuggen door de log live naast de applicatie te tonen. Dat is makkelijker dan in het onderwaterscherm van een HTML-pagina naar foutmeldingen gaan zitten zoeken.
 
Wouter J

Wouter J

25/11/2013 14:42:08
Quote Anchor link
Je moet onderscheid maken tussen error levels en log levels. Een error is slechts een fatal, error, notice of warning. Je wilt echter veel meer gegevens loggen dan alleen de errors. In een dev. omgeving wil ik bijv. graag precies weten welke acties er zijn ondergaan, welke router heeft gematched, etc.

En wat denk je van user handelingen? Ik zou graag willen loggen welke acties een moderator doet, zodat die bij gehouden kunnen worden.

Voor het loggen heb je dus nog veel meer informatie om te loggen, daarom heb je ook meer levels nodig. En dan zal ik altijd de psr standarden volgen.
 
Ozzie PHP

Ozzie PHP

25/11/2013 15:20:04
Quote Anchor link
>> Niet als je OOP programmeert. De cURL-klasse weet dan niet waarvoor zij wordt gebruikt en hoort dat ook niet te weten. Die klasse kan dus geen onderscheid maken tussen een warning en een notice. Pas de andere klasse maakt daarvan een notice als deze het probleem in een catch omzeilt.

Dit is ook wat ik bedoel. Ik wil een exception opvangen en afhankelijk van de aard (gradatie) van de exception wil ik die exceptnio bijv. loggen en mailen. Dit wil ik laten doen door een handler. Door de juiste error mee te geven, moet die handler dan loggen, mailen of in het uiterste geval de applicatie stoppen.

Wat betreft debuggen... ik snap dat je niet wilt dat gebruikers debug-informatie zien. Ik snap niet waarom debug een log-level is. Het is toch helemaal geen level? Ieder "level" kun je zelf voorzien van debug-informatie dus ik snap het nut niet zo goed.

@Wouter:

Ik snap wat je bedoelt met het verschil tussen error en log levels. Goed dat je dat onderscheid maakt. Mij gaat het het dus om de error levels. Jij zegt:

"Een error is slechts een fatal, error, notice of warning"

Volgens jou zijn het er dan 4? Wat is precies het verschil tussen fatal en error?
 
Ward van der Put
Moderator

Ward van der Put

25/11/2013 16:00:58
Quote Anchor link
Ozzie PHP op 25/11/2013 15:20:04:
Dit is ook wat ik bedoel. Ik wil een exception opvangen en afhankelijk van de aard (gradatie) van de exception wil ik die exceptnio bijv. loggen en mailen. Dit wil ik laten doen door een handler. Door de juiste error mee te geven, moet die handler dan loggen, mailen of in het uiterste geval de applicatie stoppen.

De logger logt. Laat je de logger meer doen, dan leg je te veel verantwoordelijkheid bij de logger. De logger moet bij mijn voorbeeld weten dat het ene gebruik van de cURL-klasse mag eindigen in een notice en het andere gebruik in een warning. Daarvoor moet de logger niet alleen de cURL-klasse kennen, maar ook inzicht hebben in hoe andere klassen die klasse gebruiken. Dat wil je niet. Je logt de warning van A en als die ontaardt in een notice bij B, dan log je die opnieuw.

A weet helemaal niet dat B gaat loggen. A is zich zelfs niet bewust van het bestaan van B. En je wilt ook geen A bouwen die per se door B moet worden gebruikt omdat er anders niets wordt gelogd.

Een klasse hoeft daarom ook niet te weten wanneer de logger een mail bij een kritieke fout de deur uitdoet naar de juiste dienstdoende persoon. Dat maakt klassen dan té "logger aware". Alleen een level is ruim voldoende; daarna is het aan de logger om te bepalen hoe er wordt gelogd.
 
Ozzie PHP

Ozzie PHP

25/11/2013 16:19:46
Quote Anchor link
Ward, misschien praat ik soms te snel of onvolledig. Mijn excuses daarvoor. Maar mijn idee is het volgende. Ik wil een exception handler maken. Op het moment dat ik een exception/error afvang waar iets mee moet gebeuren, dan wil ik die error doorsturen naar de exception handler. Hier wil ik dan een error-level aan koppelen. Op basis van de error-level beslist de exception handler wat er moet gebeuren (loggen, mailen, applicatie killen). Je krijgt dus zeg maar zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
try {
  $this->cacher->cache($data, 'foo');
catch (CacherException $e) {
  $this->exception_handler('Could not cache data', $e, WARNING);
}

?>

of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
try {
  $config = $this->database->get('website_config');
catch (DatabaseConnectionException $e) {
  $this->exception_handler('No database connection', $e, ERROR);
}

?>

Een class method vangt dus ergens een exception op, en afhankelijk van de aard van die exception wordt in sommige gevallen de exception handler ingeschakeld. Aan die exception handler wil ik dan een level kunnen meegeven. Die handler weet aan de hand van het level wat er vervolgens moet gebeuren.
Gewijzigd op 25/11/2013 16:21:21 door Ozzie PHP
 
Dos Moonen

Dos Moonen

25/11/2013 16:31:30
Quote Anchor link
Quote:
Zorg dat alle 8 levels beschikbaar zijn. Hoeveel je er daadwerkelijk gebruikt is een ander verhaal. Das is namelijk jouw keuze.

Wat heb jij tegen wel 5(!(???)) extra levels toevoegen zodat je de zelfde waarde door kan geven aan een Psr logger?
 
Ozzie PHP

Ozzie PHP

25/11/2013 16:34:07
Quote Anchor link
Op zich heb ik er niks op tegen, mits ze een meerwaarde hebben. Die zie ik nu niet. Maar aangezien ik niet alwetend ben kun jij het misschien uitleggen?
 
Wouter J

Wouter J

25/11/2013 16:35:57
 
Ward van der Put
Moderator

Ward van der Put

25/11/2013 16:43:01
Quote Anchor link
Ozzie PHP op 25/11/2013 16:19:46:
Een class method vangt dus ergens een exception op, en afhankelijk van de aard van die exception wordt in sommige gevallen de exception handler ingeschakeld. Aan die exception handler wil ik dan een level kunnen meegeven. Die handler weet aan de hand van het level wat er vervolgens moet gebeuren.

In A treedt een onverwachte fout op. Gelukkig niet zo erg: je had het ding namelijk in een if verpakt die bij false een exception gooit. Aangekomen bij B blijkt de fout toch minder onschuldig te zijn: het PHP-script crasht hard in de try, nog voordat het in de catch belandt. Hoe wil je dan nog bij een logger uitkomen?

Als je het loggen almaar vooruit schuift, kom je er soms niet meer aan toe. Of je vergeet het, want van uitstel komt afstel en "dat doe ik morgen wel". Ondertussen blijven bugs onopgemerkt.
 
Ozzie PHP

Ozzie PHP

25/11/2013 16:51:34
Quote Anchor link
@Wouter:

Kun je nog het verschil uitleggen tussen FATEL en ERROR?

Uit jouw link (thanks):

Emergency: system is unusable
Alert: action must be taken immediately
Critical: critical conditions
Error: error conditions
Warning: warning conditions
Notice: normal but significant condition
Informational: informational messages
Debug: debug-level messages

Ik zie het hier staan... maar ik weet niet hoe ik dan onderscheid moet maken. Wat is bijvoorbeeld het verschil tussen een error en critical? En tussen critical en alert? Dat komt toch allemaal op hetzelfde neer?

@Ward:

Ik voel dat je me iets probeert duidelijk te maken, maar ik zie het licht nog niet helemaal. Kun je eens schematisch een praktijkvoorbeeldje geven van wat je bedoelt?
 

Pagina: 1 2 3 volgende »



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.