Middle
Jaké způsoby existují pro zpracování ověřovaných výjimek?
sobes.tech AI
Odpověď od AI
- Použijte blok
try-catch: umožňuje zachytit výjimku a zpracovat ji, čímž zabráníte neočekávanému ukončení programu. - Oznámte, že metoda může vyvolat výjimku, pomocí klíčového slova
throwsv signatuře metody: to přenáší odpovědnost za zpracování na volající kód. - Zabalte kontrolovanou výjimku do nekontrolované: umožňuje předat výjimku bez explicitního zpracování, ale může skrýt skutečný problém.
Příklad použití try-catch:
// Příklad použití try-catch pro zpracování kontrolované výjimky
try {
// Kód, který může vyvolat kontrolovanou výjimku (například, IOException)
FileReader file = new FileReader("my_file.txt");
// Práce se souborem...
} catch (IOException e) {
// Zpracování IOException
e.printStackTrace(); // Zobrazení zásobníku volání pro ladění
System.err.println("Chyba při práci se souborem: " + e.getMessage());
}
Příklad použití throws:
// Příklad použití `throws` v signatuře metody
public void readFile(String fileName) throws IOException {
FileReader file = new FileReader(fileName);
// Práce se souborem...
}
// Volající kód musí buď zpracovat IOException, nebo ji deklarovat ve své vlastní signatuře
public void processFile(String filePath) {
try {
readFile(filePath);
} catch (IOException e) {
System.err.println("Chyba při čtení souboru: " + e.getMessage());
}
}
Příklad zabalování do nekontrolované výjimky:
// Příklad zabalování kontrolované výjimky do nekontrolované
public void unsafeOperation() {
try {
// Kód, který může vyvolat kontrolovanou výjimku
throw new IOException("Příklad IOException")
} catch (IOException e) {
// Převod kontrolované výjimky na nekontrolovanou
throw new RuntimeException("Došlo k chybě v operaci", e);
}
}