Estou estudando Exceptions e estou com uma dúvida. Estou executando um método declarando throws e executando este mesmo método sem declarar throws, e o resultado, quando eu causa uma exceção é o mesmo.
Veja;
public static int quotient( int numerator, int denominator)//throws ArithmeticException
{
return numerator/denominator;
}
Ora eu comento o throws e ora não
public static void main (String []args){
Scanner scanner = new Scanner(System.in);
int numerator;
int denominator;
int result;
boolean continueLoop=true;
do{
try{
System.out.print("Digite o numerador ");
numerator = scanner.nextInt();
System.out.print("Digite o denominador ");
denominator = scanner.nextInt();
result = quotient(numerator, denominator);
System.out.println("O resultado eh: "+ result);
continueLoop=false;
}
catch (InputMismatchException inputMismatchException) {
scanner.nextLine();
System.out.println();
System.out.println(" Vc deve inserir numeros, tente novamente!");
System.out.println();
}
catch(ArithmeticException arithmeticException){
scanner.nextLine();
System.out.println();
System.out.println("Zero nao eh um denominador valido, tente novamente!");
System.out.println();
}
}while (continueLoop);
}
O resultado é sempre o mesmo (sem trows e com trows) as exceções são capturadas e tratadas… então pq é necessário o throws no método?
