Класс Exception и его подклассы представляют собой форму Throwable, которая указывает условия, которые разумное приложение может захотеть перехватить.
В большинстве ситуаций вашим исключением может быть одно из них ниже:
- Арифметическое исключение
- ArrayIndexOutOfBoundException
- ClassNotFoundException
- IOException
- NoSuchMethodException ...
1018*
Ошибка - это подкласс Throwable, который указывает на серьезные проблемы, которые разумное приложение не должно пытаться обнаружить.
И Exception
, и Error
являются подклассами Throwable
.
Если вам нужно не только поймать Exceptions
, но Errors
, вы должны использовать Throwable
.Но:
Большинство таких ошибок являются ненормальными условиями.Ошибка ThreadDeath, хотя и является «нормальным» условием, также является подклассом Error, поскольку большинству приложений не следует пытаться ее перехватить.
Если вы хотите отловить такую вещь, как ThreadDeath
error, выбудет использовать Throwable.Это может быть очень редкая ситуация.
В вашем примере, если вы просто хотите проверить числа, вы можете использовать что-то вроде этого:
public static void check(int pDen, int pMes, int kDen, int kMes) {
if (pMes > kMes) {
throw new IllegalArgumentException ("Your message.....");
} else if (pMes == kMes) {
if (pDen > kDen) {
throw new IllegalArgumentException ("Your message.....");
}
}
}