假设我们有两个课程Connector
和Main.
第一个有方法connect();
,另一个有actionListener()
个按钮。 Connector.connect()
可能会抛出exception
。我不确定在哪里处理这个问题;一般在Connector
或Main
?如果我们编程android,是否放置logs
的位置相同?
编辑: 上面的问题很棒的文章: https://today.java.net/pub/a/today/2003/12/04/exceptions.html
答案 0 :(得分:2)
如果您希望用户知道确切的异常,那么将异常抛出到用户级别会更好。否则如果它不那么重要并且异常可以恢复,那么你可以在Connector
本身处理它并返回一些表示错误的值。
如果从连接器抛出的异常不与Main方法的抽象级别内联,则将其包装在与调用者的抽象级别内联的异常中。
Throw early and catch late是异常处理的一般规则。
答案 1 :(得分:0)
取决于处理程序的操作类型。如果您需要向用户显示消息,请在视图层中处理异常(在您的情况下猜测它是连接器)。如果需要对数据库执行操作(例如,rollbak),请在持久层中处理它。