sql >> Database >  >> RDS >> Mysql

Wat is het voordeel van try {} catch {} versus if {} else {}

Ik zou het try/catch-blok gebruiken wanneer het normale pad door de code foutloos zou moeten verlopen, tenzij er echt enkele uitzonderlijke omstandigheden zijn - zoals dat de server niet werkt, uw inloggegevens verlopen of onjuist zijn. Ik zou het niet per se gebruiken om niet-uitzonderlijke fouten af ​​te handelen, bijvoorbeeld alsof de huidige gebruiker niet de juiste rol heeft. Dat wil zeggen, wanneer u redelijkerwijs een fout kunt verwachten en afhandelen die geen uitzonderlijke omstandigheid is, denk ik dat u uw controles moet doen.

In het geval dat je hebt beschreven -- het opzetten en uitvoeren van een query, is een try/catch-blok een uitstekende manier om het af te handelen zoals je normaal verwacht dat de query slaagt. Aan de andere kant wilt u waarschijnlijk controleren of de inhoud van het resultaat is wat u verwacht met logica voor besturingsstromen, in plaats van alleen te proberen gegevens te gebruiken die mogelijk niet geldig zijn voor uw doel.

Een ding waar u op wilt letten, is slordig gebruik van try/catch. Try/catch mag niet worden gebruikt om jezelf te beschermen tegen slechte programmering -- het soort "Ik weet niet wat er zal gebeuren als ik dit doe, dus ik ga het in een try/catch verpakken en er het beste van hopen" van programmeren. Meestal wilt u het soort uitzonderingen dat u opvangt beperken tot uitzonderingen die geen verband houden met de code zelf (server down, slechte referenties, enz.), zodat u fouten kunt vinden en oplossen die verband houden met de code (nullpointers, enz.) .).



  1. Mysql gebruiken in de opdrachtregel in osx - opdracht niet gevonden?

  2. MySQL-server is verdwenen tijdens het crawlen in Perl

  3. Hoe te schrijven naar een CSV-bestand met Oracle SQL*Plus

  4. Zet tijd in DateTime