RuntimeException
RuntimeExceptions não exigem blocos try/catch no código. Elas normalmente podem ser evitadas com boas práticas de programação. No entanto, quando erros não são detectados e a RuntimeException não é capturada, ela faz o aplicativo falhar e exibir informações sobre o problema que o usuário pode não entender. Neste exercício, você vai ver o que acontece quando você não captura uma possível RuntimeException e o que acontece quando você usa try/catch para capturá-la.
Este exercicio faz parte do curso
Tipos de Dados e Exceções em Java
Instruções do exercicio
- Examine os métodos
withoutTryCatch()ewithTryCatchneste aplicativo e note a diferença entre eles. - Execute o aplicativo sem alterações — isso faz com que o método
withoutTryCatch()seja executado e cause umaRuntimeException. - Comente a linha 5 e descomente a linha 7 e, em seguida, execute o aplicativo novamente; dessa vez, o método
withTryCatch()será executado e tratará aRuntimeException.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
public class RuntimeExceptionHandling {
public static void main(String[] args) {
// Comment out this line
withoutTryCatch();
// Uncomment this line
// withTryCatch();
}
public static void withoutTryCatch() {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
}
public static void withTryCatch() {
try {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Oops - made a mistake accessing the mounts array with a bad index.");
}
}
}