Please don't force the use of checked exceptions when it isn't necessary #75
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.
The JSONObject class forces users to wrap even a simple put operation in
a try-catch block, despite the fact that most times the only situation
that can cause the exception to be thrown is a null key value. I have
changed this to use the standard NullPointerException in the case of
null keys, and the standard IllegalArguementException in the case of
non-finite numbers. The JSONObject class may now be used without an
excessive amount of try/catch code that is often superfluous. Take for
instance this common idiom:
JSONObject jsonObj = new JSONObject();
try {
jsonObj.put("definitelyNotNull", 123);
} catch (JSONException ex) {
/* This will never, ever occur. Yet I'm still forced to catch the
* exception.
*/
}
With this commit, the following can safely be condensed down to:
JSONObject jsonObj = new JSONObject();
jsonObj.put("definitelyNotNull", 123);