Какой подкласс класса java.lang.Throwable
может быть сброшен пустым оператором?
Под фразой "пустое выражение" я ссылаюсь на "ничего", "полуточку" и "полуколоны":
// ....
A(); B(); C();
try {
// nothing
} catch (java.lang.Throwable e) {
// which Throwable subclass might we see?
}
D(); E(); F();
try {
; // semi-colon
} catch (java.lang.Throwable e) {
// which Throwable subclass might we see?
}
G(); H(); I();
try {
; ; ;; ;;;;; ; ; ;;; ;; ;; ;; ;; ; ;; ; ;; // ... semi-colons
} catch (java.lang.Throwable e) {
// which Throwable subclass might we see?
}
J(); K(); L();
// ....
Какие подклассы Throwable могут быть выбраны между A();
и B();
или между C();
и D();
или между F();
и G();
или между I();
и J();
?
Или, скорее, , которые подклассы Throwable гарантированы не, чтобы отображаться между этими утверждениями
Те, что я знаю до сих пор, это InternalError
, OutOfMemoryError
, StackOverflowError
и UnknownError
.