java - try-catch block 是否应该包围一个捕获它抛出的所有异常的函数?

标签 java exception

我对 JAVA 中的异常处理很陌生。我有一些基本问题:

First.java 内部:

public void foo ()
{
  Second obj = new Second();
  obj.boo();
}

Second.java 内部

public void boo()
{
   try { /* may throw some I/O Exception here */ }
   catch (IOException e) { System.err.println(e.message()); }
   catch (Exception e) { System.err.println(e.message()); }
}

我的问题是,我们是否还需要(应该)在 First.java 的 foo() 方法中添加 try/catch block ?

最佳答案

你不需要这样做,但如果你不想在 boo() 中处理它,你可以执行以下操作:

public void boo() throws IOException{

...

}

public void foo(){
   try{
   boo();
   }catch(IOException ioe){ System.out.println(ioe.message());}
}

但是你所拥有的应该可以正常工作。希望有帮助!

关于java - try-catch block 是否应该包围一个捕获它抛出的所有异常的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13664383/

相关文章:

java - Spring创建bean时出错

c# - 更改容量时出现 StringBuilder 异常!

java - 为什么不推荐错误处理?

python - 当函数返回 None 或抛出异常时使用默认值的 Pythonic 方式是什么?

java - TomEE ORA-01017 服务器尝试通过操作系统用户进行身份验证

java - 在 Android 中获取与 GMT 相比的时区

java - 运行 : java. sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 连接字符串属性无效

java - 弗林克 : no suitable method found for process

C# 类库异常处理

.net - 如何处理 Windows 窗体 datetimepicker ArgumentOutOfRangeException?