java-gitlab-api icon indicating copy to clipboard operation
java-gitlab-api copied to clipboard

RuntimeException thrown when IOException occurs on HTTPRequestor level

Open islandsvinur opened this issue 5 years ago • 1 comments

When requesting the merge requests for a non existing project, e.g. /api/v4/projects/42/merge_requests, the FileNotFoundException caught in GitlabHTTPRequestor is wrapped in a RuntimeException and thrown out uncaught.

I propose to replace the RuntimeException with UncheckedIOException, then catch the UncheckedIOException, unwrap and rethrow the IOException at the API border. This way consumers of the API know exactly what happened to them.

In 4.0.0 threw an Error and was improved in 4.1.0 to throw RuntimeException (#281), so threads are not killed.

I can prepare a PR if you like the proposal.

islandsvinur avatar Feb 14 '19 10:02 islandsvinur

Yep, I think that makes sense. Thanks for submitting the PR!

timols avatar Feb 14 '19 17:02 timols