IL Java genera una parola chiave viene utilizzato per dichiarare un'eccezione. Fornisce un'informazione al programmatore che potrebbe verificarsi un'eccezione. Pertanto, è meglio che il programmatore fornisca il codice di gestione delle eccezioni in modo da poter mantenere il normale flusso del programma.
La gestione delle eccezioni viene utilizzata principalmente per gestire le eccezioni verificate. Se si verifica un'eccezione non controllata come NullPointerException, è colpa del programmatore se non controlla il codice prima che venga utilizzato.
linux quale comando
Sintassi di Java lancia
return_type method_name() throws exception_class_name{ //method code }
Quale eccezione dovrebbe essere dichiarata?
Anni: Controllata solo l'eccezione, perché:
Il vantaggio di Java genera una parola chiave
Ora l'eccezione controllata può essere propagata (inoltrata nello stack di chiamate).
Fornisce informazioni sull'eccezione al chiamante del metodo.
Java genera un esempio
Vediamo l'esempio della clausola Throws di Java che descrive che le eccezioni controllate possono essere propagate dalla parola chiave Throws.
Testthrows1.java
import java.io.IOException; class Testthrows1{ void m()throws IOException{ throw new IOException('device error');//checked exception } void n()throws IOException{ m(); } void p(){ try{ n(); }catch(Exception e){System.out.println('exception handled');} } public static void main(String args[]){ Testthrows1 obj=new Testthrows1(); obj.p(); System.out.println('normal flow...'); } }Provalo adesso
Produzione:
exception handled normal flow...
Regola: se chiamiamo un metodo che dichiara un'eccezione, dobbiamo catturare o dichiarare l'eccezione.
Ci sono due casi:
Caso 1: gestire l'eccezione utilizzando il blocco try-catch
Nel caso in cui gestiamo l'eccezione, il codice verrà eseguito correttamente indipendentemente dal fatto che l'eccezione si verifichi durante il programma o meno.
scarica autocad 2019 inglese mediafire
Testthrows2.java
import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } public class Testthrows2{ public static void main(String args[]){ try{ M m=new M(); m.method(); }catch(Exception e){System.out.println('exception handled');} System.out.println('normal flow...'); } }Provalo adesso
Produzione:
exception handled normal flow...
Caso 2: dichiarare un'eccezione
- Nel caso in cui dichiariamo l'eccezione, se l'eccezione non si verifica, il codice verrà eseguito correttamente.
- Nel caso in cui dichiariamo l'eccezione e l'eccezione si verifica, verrà lanciata in fase di esecuzione perché lancia non gestisce l'eccezione.
Vediamo esempi per entrambi gli scenari.
come chiudere la modalità sviluppatore
A) Se l'eccezione non si verifica
Testthrows3.java
import java.io.*; class M{ void method()throws IOException{ System.out.println('device operation performed'); } } class Testthrows3{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } }Provalo adesso
Produzione:
device operation performed normal flow...
B) Se si verifica un'eccezione
Testthrows4.java
import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } class Testthrows4{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } }Provalo adesso
Produzione:
Differenza tra lancio e lancio
Cliccami per i dettagliQue) Possiamo rilanciare un'eccezione?
Sì, lanciando la stessa eccezione nel blocco catch.