Middle
Ce metode există pentru tratarea excepțiilor verificate?
sobes.tech AI
Răspuns de la AI
- Utilizați blocul
try-catch: permite capturarea unei excepții și tratarea acesteia, prevenind închiderea neașteptată a programului. - Declarați că o metodă poate arunca o excepție, folosind cuvântul cheie
throwsîn semnătura metodei: acest lucru transferă responsabilitatea pentru tratare către codul care o apelează. - Înfășurați o excepție verificabilă într-una ne verificabilă: permite propagarea excepției fără tratare explicită, dar poate masca o problemă reală.
Exemplu de utilizare a try-catch:
// Exemplu de utilizare a try-catch pentru tratarea unei excepții verificabile
try {
// Cod care poate arunca o excepție verificabilă (de exemplu, IOException)
FileReader file = new FileReader("my_file.txt");
// Lucru cu fișierul...
} catch (IOException e) {
// Tratarea IOException
e.printStackTrace(); // Afișează stiva de apeluri pentru depanare
System.err.println("Eroare la lucrul cu fișierul: " + e.getMessage());
}
Exemplu de utilizare a throws:
// Exemplu de utilizare a throws în semnătura metodei
public void readFile(String fileName) throws IOException {
FileReader file = new FileReader(fileName);
// Lucru cu fișierul...
}
// Codul care apelează trebuie să gestioneze IOException sau să o declare în propria semnătură
public void processFile(String filePath) {
try {
readFile(filePath);
} catch (IOException e) {
System.err.println("Eroare la citirea fișierului: " + e.getMessage());
}
}
Exemplu de împachetare într-o excepție ne verificabilă:
// Exemplu de împachetare a unei excepții verificabile într-una ne verificabilă
public void unsafeOperation() {
try {
// Cod care poate arunca o excepție verificabilă
throw new IOException("Exemplu de IOException");
} catch (IOException e) {
// Transformarea excepției verificabile într-una ne verificabilă
throw new RuntimeException("A fost detectată o eroare în operație", e);
}
}