Gestionarea Excepțiilor în Java — try-catch, throws, custom exceptions
In this tutorial, you'll learn about Gestionarea Excepțiilor în Java. We cover key concepts, practical examples, and best practices.
Gestionarea excepțiilor în Java se face prin mecanismul try-catch-finally și declararea excepțiilor cu throws, permițându-ți să separi codul de eroare de logica normală și să creezi excepții personalizate pentru domeniul tău.
The Problem
Ignorarea excepțiilor sau gestionarea lor necorespunzătoare duce la aplicații instabile, erori greu de depistat și experiență proastă pentru utilizator. Acest quick-fix îți arată cum să gestionezi corect excepțiile.
The Wrong Way
public String readFile(String path) {
return new String(Files.readAllBytes(Paths.get(path)));
}
Output:
Exception in thread "main" java.io.IOException: No such file
Excepția e propagată nesigur, fără mesaj context sau recovery.
The Right Way
import java.io.*;
import java.nio.file.*;
public String readFileSafe(String path) {
try {
return new String(Files.readAllBytes(Paths.get(path)));
} catch (IOException e) {
System.err.println("Eroare la citirea fișierului: " + path);
return ""; // valoare default
}
}
Step-by-Step Fix
1. Învelește codul periculos în try-catch
try {
// cod care poate arunca excepții
Files.readAllBytes(path);
} catch (IOException e) {
// recuperare sau logare
e.printStackTrace();
}
2. Folosește multi-catch pentru excepții similare
catch (IOException | SQLException e) {
logger.error("Operațiunea a eșuat", e);
}
3. Creează excepții custom
class ConfigException extends RuntimeException {
public ConfigException(String message, Throwable cause) {
super(message, cause);
}
}
Prevention Tips
- Închide resursele cu
try-with-resources— se închid automat - Nu înghiți excepțiile — măcar loghează-le
- Folosește excepții unchecked (
RuntimeException) pentru erori de programare - Adaugă context mesajelor de eroare — include valorile relevante
Common Mistakes
- Bloc catch gol — excepția e înghițită fără nicio urmă. Măcar logheaz-o.
- Prinderea lui
ExceptionsauThrowableprea larg — ascunde bug-uri reale. - Returnarea null în catch — mută problema mai departe în aplicație.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu Java pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro