Make StorageException a RuntimeException
In the context of a Gerrit server, StorageExceptions are generally speaking not recoverable: the only place that should be catching them is a top-level request handler such as RestApiServlet. Such a handler also needs to be able to catch RuntimeExceptions, and indeed RestApiServlet already catches bare Exception. The general best practice in Java today is to use unchecked exception when errors are not intended to be recoverable[citation needed]. This avoids polluting interfaces with too many checked exception types. After this change, most "throws StorageException" clauses are redundant and can be cleaned up. However, that work is left for future commits; this commit does the minimum work required to compile. This commit does not additionally touch DuplicateKeyException, which also becomes a RuntimeException since it inherits from StorageException. Change-Id: I75230cf99145d886a5d872150e333519eb54acbb
This commit is contained in:
@@ -124,8 +124,7 @@ public class PreviewSubmit implements RestReadView<RevisionResource> {
|
||||
.setContentType(f.getMimeType())
|
||||
.setAttachmentName("submit-preview-" + change.getChangeId() + "." + format);
|
||||
return bin;
|
||||
} catch (StorageException
|
||||
| RestApiException
|
||||
} catch (RestApiException
|
||||
| UpdateException
|
||||
| IOException
|
||||
| ConfigInvalidException
|
||||
|
||||
Reference in New Issue
Block a user