try {
// código que inclui comandos/invocações de métodos
// que podem gerar uma situação de exceção.
} catch (XException ex) {
// bloco de tratamento associado à condição de
// exceção XException ou a qualquer uma de suas
// subclasses, identificada aqui pelo objeto
// com referência ex
} catch (YException ey) {
// bloco de tratamento para a situação de exceção
// YException ou a qualquer uma de suas subclasses
} finally {
// bloco de código que sempre será executado após
// o bloco try, independentemente de sua conclusão
// ter ocorrido normalmente ou ter sido interrompida
}
https://www.devmedia.com.br/blocos-try-catch/7339
try {
// Aqui deve ser executado o código onde poderá ocorrer exceção
}
catch (Exception e)
// Existem vários tipos de exceções que podem ser tratadas, Exception e a mãe de todas e pode ser usada para todas
{
// Aqui vai o código que será executado caso ocorra a exceção
}
catch (ArithmeticException arithmeticException)
// Vários blocos de catch podem ser usados para tratar tipos diferentes de exceções, são chamados de tratamento de exceções encadeadas
{
// Aqui vai o código que será executado caso ocorra uma ArithmeticException
}
catch (IOException | SQLException ex)
// Esse bloco e conhecido como multi catch e pode ser usado para dar tratamento simultâneo para tipos específicos de exceção.
{
// Aqui vai o código que será executado caso ocorra uma IOException e SQLException
}
finally // executa independentemente do que ocorre em try...catch
{
// Esse bloco e muito importante as vezes, uma das suas principais funções é que a após uma exceção o sistema pode parar ou se comportar de forma inesperada e com essa instrução fica garantido a execução do bloco e recuperação do sistema, mas o finally pode ser usados em vários momentos dependendo da situação
}
Java Como Programar 10 ed - Deitel