On Thu, 25 May 2023 08:29:37 GMT, Adam Sotona <asot...@openjdk.org> 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