RFR: 8308842: Consolidate exceptions thrown from Class-File API

Adam Sotona asotona at openjdk.org
Thu May 25 08:36:08 UTC 2023


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


More information about the core-libs-dev mailing list