GeeksforGeeks (Română)

în Java, există două tipuri de excepții:

1) verificat: sunt excepțiile care sunt verificate la momentul compilării. Dacă un cod dintr-o metodă aruncă o excepție verificată, atunci metoda trebuie fie să gestioneze excepția, fie trebuie să specifice excepția folosind cuvântul cheie throws.

de exemplu, luați în considerare următorul program Java care deschide fișierul la locație „C:\test\a.txt” și imprimă primele trei linii ale acesteia., Programul nu compilare, deoarece funcția main() se foloseste FileReader() și FileReader() aruncă o verificat exceptia FileNotFoundException. Se utilizează, de asemenea, readLine() și close() metode, și aceste metode arunca, de asemenea, verificat exceptie IOException



Ieșire:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at Main.main(Main.java:5)

Pentru a repara programul de mai sus, avem nevoie pentru a specifica lista de excepții folosind aruncă, sau avem nevoie de a utiliza try-catch. Am folosit aruncări în programul de mai jos., Deoarece FileNotFoundException este o subclasă de IOException, putem specifica IOException în lista de aruncări și să facem compilatorul de programe de mai sus-fără erori.



Ieșire: Primele trei linii din fișier „C:\test\a.txt”

2) Necontrolate sunt excepții care nu sunt verificate la compilate de timp. În C++, toate excepțiile nu sunt verificate, deci compilatorul nu este forțat să gestioneze sau să specifice excepția. Depinde de programatori să fie civilizați și să precizeze sau să prindă excepțiile.,
În Java excepții sub clase de eroare și RuntimeException sunt excepții necontrolate, orice altceva sub throwable este verificat.

 +-----------+ | Throwable | +-----------+ / \ / \ +-------+ +-----------+ | Error | | Exception | +-------+ +-----------+ / | \ / | \ \________/ \______/ \ +------------------+ unchecked checked | RuntimeException | +------------------+ / | | \ \_________________/ unchecked

luați în considerare următorul program Java. Se compilează bine, dar aruncă ArithmeticException atunci când a alerga. Compilatorul îi permite să compileze, deoarece ArithmeticException este o excepție necontrolată.,2b7cfd03″>

;

int y = 10;
int z = y/x;
}
}



Output:

Exception in thread "main" java.lang.ArithmeticException: / by zero at Main.main(Main.java:5)Java Result: 1

Why two types?,
A se vedea excepții necontrolate-controversa pentru detalii.

ar trebui să facem excepțiile noastre verificate sau necontrolate?
În urma este linia de Jos din documente Java
în cazul în care un client poate fi în mod rezonabil de așteptat pentru a recupera de la o excepție, face o excepție verificată. Dacă un client nu poate face nimic pentru a recupera de la excepția, face o excepție necontrolată

Java Corner pe GeeksforGeeks

vă rugăm să scrieți comentarii dacă găsiți ceva incorect, sau doriți să partajați mai multe informații despre subiectul discutat mai sus.

cititor de atenție! Nu te opri din învățat acum., Faceți rost de toate conceptele importante ale Fundației și Colecțiilor Java cu fundamentele cursului Java și Java Collections la un preț prietenos pentru studenți și deveniți gata pentru industrie.

articolul Tag-uri:

Java

practica Tag-uri :

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Sari la bara de unelte