java - throw 或尝试接住

标签 java exception exception-handling try-catch throws

在决定是向方法添加 throws 子句还是使用 try-catch 时,一般的经验法则是什么?

根据我自己的阅读,当调用者违反契约(Contract)的结尾(传递的对象)时应该使用 throws 并且应该使用 try-catch在方法内部执行的操作期间发生异常时使用。这个对吗?如果是这样,调用方应该怎么做?

P.S:通过 Google 和 SO 进行搜索,但希望对此有明确的答案。

最佳答案

  • 只有在您能够以有意义的方式处理异常时才捕获异常
  • 如果要由当前方法的使用者处理,则声明向上抛出异常
  • 如果异常是由输入参数引起的,则抛出异常(但这些通常是未经检查的)

关于java - throw 或尝试接住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203297/

相关文章:

android - 间歇性 SQLiteException : not an error at dbopen

c# - 为什么抛出的异常与 catch block C# 不正确匹配

php - 为什么捕获的异常仍然会中断循环?我们怎样才能让它继续下去?

java - 通过反射设置子类的字段

java - 如何使用javagit获取提交的文件?

java - 读取connection.getInputStream()时文件未找到异常

java - 如何为 Spring 的 SimpleMappingExceptionResolver 记录异常堆栈跟踪

scala - 无法在 Scala 中捕获 ClassCastException

java - favicon 未缓存在 tomcat 中

java - 为学校项目创建作业列表,但我收到 NullPointerException