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