java - 高抽象级别方法中的异常

标签 java exception design-patterns

一个方法执行多项任务:

public void method () {

    try {
         task1(); //may throw sql exception
         task2(); //may throw sql exception
         task3(); //may throw sql exception
   } catch (SQLException se) {
       //from which line cames the exception?
   }

我正在寻找在这些情况下采用的标准。
目前我的想法是这样的:
1)如果我需要根据引发异常的特定行采取一些操作,唯一的事情就是用他自己的 try-catch 包围每个语句;示例中为三个。
2)如果我不需要根据引发异常的行采取特定操作,那么堆栈跟踪将提供足够的信息来知道行出了问题,而无需为每条指令添加 try-catch block ,这使得代码可读性较差。

最佳答案

堆栈跟踪将包含所有必要的信息。

如果您需要执行特定操作,那么在每个 taskX() 方法中,您可能希望抛出不同的异常,包装 SQLException。但同样冗长。

关于java - 高抽象级别方法中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164625/

相关文章:

java - 在缓冲图像上的 JPanel 上用鼠标绘制非重叠的 n 边多边形、圆形和椭圆形

c# - 保留动态调用方法的异常

java - 为什么 MouseAdapter 是适配器?

java - 如何通过使用Maven导入另一个包类?

java - 为什么在 HQL 中不允许插入显式值?

java - 如何比较两个对象并发现字段/属性发生了变化?

c# - 了解 : First Chance exception of type 'Exception Name' occurred in 'dll Name'

c++ - 在用户定义的异常析构函数中释放动态内存

java - 用于从更复杂的对象构建对象的设计模式

design-patterns - 架构 MVC 和 Swing