On Wed, Mar 6, 2013 at 6:30 PM, Matt L. Miller <[log in to unmask]> wrote: > While I was doing some failure-mode testing on some code that uses > GeoMASON, > I have noticed that ShapeFileImporter.read(URL, GeomVectorField, Bag, > Class) > has a problem with its exception handling. > > The method declares that it throws a FileNotFoundException; however, it > actually never does so -- the entire IO section is surrounded in a try ... > Actually, it does throw a FileNotFoundException: 250 try 251 { 252 FileInputStream shpFileInputStream = new FileInputStream(shpFile.getFile()); 253 254 if (shpFileInputStream == null) 255 { 256 throw new FileNotFoundException(shpFile.getFile()); 257 } > catch that catches all IOExceptions and prints an error message, but does > NOT propagate the exception back up to the caller. Thus, you get an error > message on STDERR, but then your code continues blithely along. > > I would recommend either adding a > > throw e; > > You're right. It's bad form to catch exceptions without propagating them. I've committed changes whereby the exceptions are rethrown with appropriate changes to the function signatures.