Говоря о Исключения в Java , вызываются только 2 основных типа: проверенные исключения и непроверенные исключения .
проверенные исключения проверяются во время компиляции: если вы не обработали проверенное исключение (с помощью tryНапример, блок / catch или ключевое слово throws), компилятор выдаст ошибку, другими словами, он не позволит вам собрать вашу программу, поэтому вы всегда должны обрабатывать все отмеченные исключения.
непроверенные исключения проверяются во время выполнения: ваш компилятор не выдаст ошибку, если вы не обработаете исключения такого типа.
Теперь вопрос: как я могу различить эти два типа, когда я кодирую?
Прежде всего, вы должны иметь в виду, что каждое исключение в Java должно наследоваться от «Исключение», класс .
Теперь существует простой способ отличить непроверенное исключение от проверенного: любой класс исключений, который наследуется от "RuntimeException" , считается непроверенное исключение и любой класс, который наследует от "Исключение" , но не "RuntimeException" считается проверенным исключением .
В вашем случае метод, который вы вызываете, выдаетArithmeticException
и NullPointerException
.Но эти два исключения наследуются от "RuntimeException" .Итак, согласно правилу, написанному выше, эти 2 исключения являются непроверенными исключениями , и поэтому вам не нужно было обращаться с ним при вызове вашего метода myMethod()
.