Is het een goede gewoonte om een RuntimeException te vangen?
Is het een goede gewoonte om een RuntimeException te vangen?

Video: Is het een goede gewoonte om een RuntimeException te vangen?

Video: Is het een goede gewoonte om een RuntimeException te vangen?
Video: Java Custom Exceptions Tutorial - It's Way Easier Than You Think 2024, Mei
Anonim

Deken- vangen alles - of Exception of Throwable, wat veel erger is - is niet een goede gewoonte omdat je ervan uitgaat dat je kunt herstellen van elk uitzonderlijk gedrag. Terzijde: Ja, vangst Uitzondering zal ook vang RuntimeException , aangezien Exception een superklasse is van RuntimeUitzondering.

Evenzo kun je je afvragen, is het een goede gewoonte om RuntimeException te vangen?

Deken- vangen alles - of Exception of Throwable, wat veel erger is - is niet een goede gewoonte omdat je ervan uitgaat dat je kunt herstellen van elk uitzonderlijk gedrag. Terzijde: Ja, vangst Uitzondering zal ook vang RuntimeException , aangezien Exception een superklasse is van RuntimeUitzondering.

Men kan zich ook afvragen, is het een goede gewoonte om NullPointerException te vangen? Het is over het algemeen een slechte oefenen om NullPointerException te vangen . Programmeurs meestal vangen NullPointerException onder drie omstandigheden: Het programma bevat een null pointer dereferentie. vangen de resulterende uitzondering was gemakkelijker dan het oplossen van het onderliggende probleem.

Vervolgens is de vraag, kunnen we RuntimeException vangen?

Runtime-uitzonderingen kan overal in een programma voorkomen, en in een typische een zij kan zeer talrijk zijn. Dus de compiler doet dat niet nodig hebben jij vangt of specificeer runtime-uitzonderingen (hoewel jij kan ). Een geval waarin het gebruikelijk is om een te gooien RuntimeUitzondering is wanneer de gebruiker een methode onjuist aanroept.

Wat is een RuntimeException?

RuntimeUitzondering is de superklasse van de uitzonderingen die kunnen optreden tijdens de normale werking van de Java Virtual Machine. Een methode is niet verplicht om in zijn throws-clausule subklassen van te declareren RuntimeUitzondering die tijdens de uitvoering van de methode kan worden gegooid, maar niet wordt gevangen.

Aanbevolen: