¿Qué errores y excepciones de Java pueden (no) ser arrojados por "declaraciones vacías"?

Cual subclase (s) dejava.lang.Throwable puede ser arrojado por una declaración vacía?

Por la frase "una declaración vacía", soyrefiriéndose a la "nada", el "punto y coma" y los "puntos y coma":

// ....
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();
// ....

Cual subclases de Throwable pueden ser lanzadas entreA(); yB(); o entreC(); yD(); o entreF(); yG(); o entreI(); yJ();?

O mejor,cual las subclases de Throwable songarantizado no aparecer entre esas declaraciones?

Los que conozco hasta ahora es elInternalError, elOutOfMemoryError, elStackOverflowError, y elUnknownError.

Respuestas a la pregunta(3)

Su respuesta a la pregunta