Java: swallowing exceptions

This is an example of code that can get us in trouble. We will never know that something went wrong...

public void uploadImportFile(FileContents fileContents, String fileName, String uploadlocation)
{
OutputStream outFile = null;
try
{
File file = new File(uploadlocation);
file.mkdirs();
outFile = new FileOutputStream(uploadlocation + fileName);
outFile.write(fileContents.getFileContents(), 0, fileContents.getFileContents().length - 2);
outFile.close();
}
catch (FileNotFoundException fileNotFoundException)
{ }
catch (IOException ioException)
{ }
}

1. In the least use:
System.err.println("FileNotFoundException e: " + e.getMessage());

e.printStackTrace();


But even better the method should not be void, but return the status.


2. Do not wrap the whole method in try{} with generic exceptions
3. Have a good reason to "push-up" the exception by adding it by the method name "throws ..."




As an Amazon Associate I earn from qualifying purchases.

My favorite quotations..


“A man should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”  by Robert A. Heinlein

"We are but habits and memories we chose to carry along." ~ Uki D. Lucas


Popular Recent Articles