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 ------------- Commit messages: - 8308842: Consolidate exceptions thrown from Class-File API Changes: https://git.openjdk.org/jdk/pull/14143/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14143&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8308842 Stats: 120 lines in 15 files changed: 61 ins; 7 del; 52 mod Patch: https://git.openjdk.org/jdk/pull/14143.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14143/head:pull/14143 PR: https://git.openjdk.org/jdk/pull/14143