È una buona pratica catturare una RuntimeException?
È una buona pratica catturare una RuntimeException?

Video: È una buona pratica catturare una RuntimeException?

Video: È una buona pratica catturare una RuntimeException?
Video: Cos'è la programmazione funzionale pura, e come può aiutare i test? by Luca Molteni 2024, Maggio
Anonim

Coperta- cattura tutto - Eccezione o Throwable, che è molto peggio - non è un buona pratica perché stai assumendo che puoi riprenderti da qualsiasi comportamento eccezionale. A parte: Sì, catturare Eccezione sarà anche cattura RuntimeException , poiché Exception è una superclasse di RuntimeException.

Allo stesso modo, potresti chiedere, è una buona pratica catturare RuntimeException?

Coperta- cattura tutto - Eccezione o Throwable, che è molto peggio - non è un buona pratica perché stai assumendo che puoi riprenderti da qualsiasi comportamento eccezionale. A parte: Sì, catturare Eccezione sarà anche cattura RuntimeException , poiché Exception è una superclasse di RuntimeException.

Ci si potrebbe anche chiedere, è una buona pratica catturare NullPointerException? In genere è un male pratica per catturare NullPointerException . Tipicamente i programmatori cattura NullPointerException in tre circostanze: Il programma contiene un dereference del puntatore nullo. cattura l'eccezione risultante era più facile che risolvere il problema sottostante.

Successivamente, la domanda è: possiamo catturare RuntimeException?

Eccezioni di runtime Potere si verificano ovunque in un programma e in un tipico uno essi Potere essere molto numeroso. Così, il compilatore fa non richiederlo tu prendi o specificare eccezioni di runtime (anche se Puoi ). Uno caso in cui è pratica comune lanciare a RuntimeException è quando l'utente chiama un metodo in modo errato.

Che cos'è una RuntimeException?

RuntimeException è la superclasse di quelle eccezioni che possono essere lanciate durante il normale funzionamento della Java Virtual Machine. Un metodo non è tenuto a dichiarare nella sua clausola throws alcuna sottoclasse di RuntimeException che potrebbe essere lanciato durante l'esecuzione del metodo ma non catturato.

Consigliato: