Скажем, я хочу предотвратить деление на 3 в любом месте моего текущего пакета. Обычная процедура заключается в создании подкласса Exception:
class NoDivbyThreeException extends RuntimeException {
public NoDivbyThreeException (String msg) {
super(msg);
}
}
а затем бросить его, где требуется:
class CustomExceptionDemo {
public static void main(String[] args) {
int numr = 5;
int denr = 3;
try {
if (denr==3) throw new NoDivbyThreeException("Div by 3 not allowed");
else System.out.println("Result: " + numr/denr);
}
catch (NoDivbyThreeException e) {
System.out.println(e);
}
}
}
Но я хочу, чтобы JVM предотвращала деление на 3 в любом месте внутри этого пакета без моего явного указания оператора throw внутри main(). Другими словами, так как JVM предотвращает деление на ноль, автоматически выбрасывая исключение всякий раз, когда она сталкивается с таким сценарием, я хочу, чтобы моя программа делала то же самое всякий раз, когда она сталкивается с ситуацией деления на 3 внутри пакета.
Это возможно? Если нет, поясните почему. Это поможет прояснить мои концепции.