RFR: 8308842: Consolidate exceptions thrown from Class-File API [v3]
Brian Goetz
briangoetz at openjdk.org
Mon Jun 5 15:07:11 UTC 2023
On Mon, 5 Jun 2023 14:38:47 GMT, Adam Sotona <asotona at 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
>
> Adam Sotona has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>
> - Merge branch 'master' into JDK-8308842-exceptions
> - fixed javadoc
> - 8308842: Consolidate exceptions thrown from Class-File API
Reviewed, only minor comment is the one about constructors in the new exception class.
src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantPoolException.java line 42:
> 40: super();
> 41: }
> 42:
Exception classes in the JDK generally have four constructors: (), (Throwable), (String), and (String, Throwable).
-------------
Marked as reviewed by briangoetz (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14143#pullrequestreview-1462765241
PR Review Comment: https://git.openjdk.org/jdk/pull/14143#discussion_r1218206593
More information about the core-libs-dev
mailing list