Restore RuntimeIOException for use #5640
Merged
+1
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'd like to open this proposal to restore
RuntimeIOException
for continued use and remove the deprecation.This was originally marked deprecated when java introduced the
UncheckedIOException
which initially seemed like a more standard replacement, but there are a few issues.cause
, which is not present in a number of usages of RuntimeIOException. This complicates the code or requires us to change the exception handling. For example:becomes
RuntimeIOException
also allows for string formatting which is used extensively in creating messages (also seen in the example above.RuntimeIOException
already extendsUncheckedIOException
, so there is very little practical improvement.Alternatives:
Another option for deprecation would be to remove the constructors for
RuntimeIOException
that take a cause and update any existing usages that actually have an IO cause to useUncheckedIOException
. This would leave `RuntimeIOException as a thin wrapper for cases where we want to throw IOException without an originating cause to keep those usages clean