当前位置: 首页 > 面试题库 >

在没有“捕获”的情况下“最终尝试”是否有意义?

史阳晖
2023-03-14
问题内容

我看到了一些这样的代码:

    try
    {
        db.store(mydata);
    }
    finally
    {
        db.cleanup();
    }

我以为try应该有一个catch

为什么这段代码这样做呢?


问题答案:

如果您希望当前执行的方法仍引发异常,同时允许适当地清理资源,则这很有用。下面是处理调用方法中的异常的具体示例。

public void yourOtherMethod() {
    try {
        yourMethod();
    } catch (YourException ex) {
        // handle exception
    }
}

public void yourMethod() throws YourException {
    try {
        db.store(mydata);
    } finally {
        db.cleanup();
    }
}


 类似资料:
  • 问题内容: 我经常遇到如下情况: 仍然需要尝试-最终在内部捕获块。 克服此问题的最佳实践是什么? 问题答案: 写一个类,其中包含捕获和记录此类异常的方法,然后根据需要使用。 您最终会看到如下内容: 您的客户端代码将类似于: 更新: 自Java 7开始,各种JDBC接口都得到了扩展,而以上代码回答了原始问题,如果您直接针对JDBC API编写代码,则现在可以对其进行结构化:

  • 问题内容: 我有一个需要类似以下内容的场景 在我的尝试,我会,数据,将其与基于处理其他数据集。 在随后。有可能阻止吗?下面是伪代码: 问题答案: 无需创建表,您只需声明一个表变量(查询结束时该变量将自动消失)。

  • 我再次编写另一个银行系统插件,但这次是使用ATM。我正在尝试弄清楚如何在单击该选项后获得玩家聊天输入,以防止单击100次以在银行帐户上存入50,000美元。 我正在用Paper-Spigot 1.14.4编写这个插件,我尝试了以下步骤: 作为一个单独的类,仅当我向插件管理器注册事件时才激活: 使用 get 和 set-method创建一个 变量 ,并在需要时在该方法中调用它。 我当前的方法: 获取

  • 我已经将Java项目从Eclipse导出为“可运行的JAR文件”,并带有“将所需库提取到生成的JAR中”。当我尝试通过双击启动它时,什么也没有发生,只是文件闪烁。当我尝试像那样从终端运行它时,它工作得很好。

  • 是否可以在没有实体的情况下使用JpaRepository?在这种情况下,将其替换为DTO。 如下示例所示 这种情况有替代方案吗? 注意:DTO已经映射,但我不想创建视图来将此DTO转换为实体。 我已经验证了这个主题,但没有重大进展,请使用无实体的JpaRepository交互样式 我在试这个 接口- 公共接口BffDTOInterface2{ } 我有这个错误

  • 问题内容: 从http://docs.oracle.com/javase/6/docs/api/java/lang/String.html中我可以读到: 从某种意义上说该属性是多余的,这是否意味着a 在Java中实际上没有意义? 问题答案: 该对象是不可变的,但实际上是对可以更改的对象的引用。 例如: 您可以重新分配此变量保存的值(以使其引用其他字符串): 但是,这样做: 然后,上述重新分配将是不