Package pascal.taie.analysis.exception


package pascal.taie.analysis.exception
This package provides functionality to analyze exceptions.

Here we use the term "exception" by convention, actually, we handle all subclasses of Throwable, including both Exception and Error.

We classify exceptions into four categories:

(1) VM errors, i.e., subclasses of VirtualMachineError defined below: InternalError OutOfMemoryError StackOverflowError UnknownError According to JVM Spec., Chapter 6.3, the above errors may be thrown at any time during the operation of the Java Virtual Machine.

(2) Exceptions that may be implicitly thrown by JVM when executing each instruction. See JVM Spec., Chapter 6.5 for more details.

(3) Exceptions that are explicitly thrown by throw statements.

(4) Exceptions that are explicitly thrown by method invocations.

Generally, Tai-e ignores (1), and provides different strategies to handle exceptions in (2)-(4).