复制
收藏
提问
简洁
try { file = new FileInputStream(fileName); x = (byte) file.read(); } catch(FileNotFoundException f) { // Not valid! f.printStackTrace(); return -1; } catch(IOException i) { i.printStackTrace(); return -1; }
0秒前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
异常处理的正确性
- FileNotFoundException处理:在Java中,
FileNotFoundException
是IOException
的一个子类,因此应该首先捕获更具体的异常FileNotFoundException
,然后再捕获更一般的IOException
。4567。 - 代码示例修正:正确的异常处理顺序应该是先捕获
FileNotFoundException
,再捕获IOException
。
代码示例
try {
file = new FileInputStream(fileName);
x = (byte) file.read();
} catch(FileNotFoundException f) {
f.printStackTrace();
return -1;
} catch(IOException i) {
// 此处捕获其他IO异常
i.printStackTrace();
return -1;
}
异常处理建议
- 具体异常优先:在处理异常时,应优先捕获更具体的异常类型,然后是更一般的异常类型。
- 资源释放:在
finally
块中添加资源释放的代码,确保即使发生异常也能正确关闭文件流。3。
你觉得结果怎么样?