java - 抛出异常的方法 : Where is it actually handled?

标签 java android exception

这是一个示例代码,我在这里抛出一个异常,由于某种原因,它在没有 try/catch 代码块的情况下工作得很好。

我是否必须在这个方法“EntryDelete”中处理这个问题 或者 我必须在调用该方法的地方处理这个问题吗? 如果可以的话我可以看一个例子,我必须在那里导入什么?执行此操作可接受的语法或方法是什么?

public boolean EntryDelete(int entryId) throws SQLException{
    this.open();
    kDatabase.delete(kENTRY_TABLE, kENTRY_ENTRY_ID + "=" + entryId, null);
    this.close();
    return true;            
}   

编辑:在方法内部和外部处理异常的想法是什么?

在方法内部处理有什么好处,在方法外部处理有什么好处?

谢谢

最佳答案

抛出的异常由该方法的调用者处理(进一步抛出或捕获),而不是该方法本身。当然,您也可以通过在此处添加 try-catch 来处理它,但由于当前是您的方法强制调用者处理可能抛出的异常。

回答您添加的问题:

“在方法内部处理有什么好处,在方法外部处理有什么好处?”

遗憾的是,我能想到的最全面的正确答案是,在方法内部处理异常的优点是不必在方法外部处理它。一般来说,处理异常越早越好,因为您通常不想强制任何调用您的方法的人为任何并非绝对必要的异常做好准备。

关于java - 抛出异常的方法 : Where is it actually handled?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19883502/

相关文章:

php - 带有换行符示例的 Android SAX 解析器?

android - Nexus 相机——从不返回数据

.net - 添加服务引用时出错 : Type is a recursive collection data contract which is not supported

java - 覆盖嵌套在 Java 参数化外部类中的非参数化类

java - 使输入流继续读取直到程序关闭的正确方法?

java - 将字符串转换为 JSONArray(不是来自 gson 的 JsonArray)

c# - SQL参数异常: The SqlParameter is already contained by another SqlParameterCollection

java - 关于奇怪的 Java 正则表达式行为的问题

java - 具有两个发布者的 AEM 反向复制

java - 获取数组长度时出错抛出异常