Several KeyValueAccess methods throw IOException.
Recently, N5Exception.N5IOException was introduced, and is now used in some places, but inconsistently.
For example some unit tests now expect N5IOException to be thrown. However many methods throw IOException instead.
For example, throwing N5IOException here
|
public AmazonS3KeyValueAccess(final AmazonS3 s3, final String bucketName, final boolean createBucket) throws N5Exception.N5IOException { |
to make unit tests happy feels wrong, when all other methods there throw normal
IOException as per
KeyValueAccess interface declaration.
What is the idea with N5Exception.N5IOException? Why does it exist? Is it intended to replace all usage of IOException? Or when should the one or the other be chosen?
Several
KeyValueAccessmethods throwIOException.Recently,
N5Exception.N5IOExceptionwas introduced, and is now used in some places, but inconsistently.For example some unit tests now expect
N5IOExceptionto be thrown. However many methods throw IOException instead.For example, throwing
N5IOExceptionheren5-aws-s3/src/main/java/org/janelia/saalfeldlab/n5/s3/AmazonS3KeyValueAccess.java
Line 77 in e326ec4
IOExceptionas perKeyValueAccessinterface declaration.What is the idea with
N5Exception.N5IOException? Why does it exist? Is it intended to replace all usage ofIOException? Or when should the one or the other be chosen?