A linguagem Java permite que informemos que um métodos, durante sua declaração, podem lançar exceções 
                durante sua execução. Para isso, precisamos utilizar a palavra reservada throws como na sintaxe abaixo 
            
            Sintaxe
            
modificador_acesso tipo_retorno nome_metodo(parametros) throws nome_excecao1, nome_excecao2, nome_excecaoN {
//corpo
}
            Exemplo 6
            
public void meuMetodo() throws ArithmeticException{
      throw new ArithmeticException("Mensagem de erro"); 
} 
            Saída
            
-
            
                Um dos benefícios da utilização do throws é a verificação, em tempo de compilação, se o método está declarado dentro 
                do corpo de um bloco try/catch ou não. Caso não esteja, um erro de compilação será exibido.
            
            Exemplo 7 : Sem try-catch
            
//Main.java
public class Main
{
    public static void metodo() throws ArithmeticException {
            throw new ArithmeticException("Mensagem erro"); 
    }
	public static void main(String[] args) {
        		metodo(); //compilador verifica se está dentro de try/catch
	}
}
            Saída
            
Main.java:8: error: unreported exception ArithmeticException; must be caught or declared to be thrown
        metodo();
              ^
1 error
            Exemplo 8: Com try-catch
            
//Main.java
public class Main
{
    public static void metodo() throws ArithmeticException{
        throw new ArithmeticException("Mensagem erro"); 
    }
	public static void main(String[] args) {
        try{
           metodo();
        }
        catch( ArithmeticException e ){
            System.out.println(e.getMessage());
        }
	}
}
            Saída
            
Mensagem erro