On Thu, 25 May 2023 08:29:37 GMT, Adam Sotona <[email protected]> wrote:
> Class-File API actually throws wide variety of exceptions based on the actual
> situation. Complete error handling code must cover
> `IndexOutOfBoundsException`, `IllegalStateException` and
> `IllegalArgumentException`.
>
> Based on previous discussions we decided to consolidate on
> `IllegalArgumentException` with possible sub-classes.
>
> It allows easy common error handling in majority of use case, however it
> allows also to distinguish source of the error when needed (for example
> `javap` needs to know if the exception comes from constant poll or not).
>
> Newly introduced `ConstantPoolException` extends `IllegalArgumentException`
> to indicate the source of the problem is in constant pool.
>
> Please review.
>
> Thanks,
> Adam
src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java line 389:
> 387: // Check for empty try block
> 388: if (tryBlock.isEmpty()) {
> 389: throw new IllegalArgumentException("The body of the try
> block is empty");
This exception should be documented in the method’s **Javadoc**.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14143#discussion_r1206065903