【问题标题】:Is it necessary to add try catch for every block of code是否需要为每个代码块添加try catch
【发布时间】:2017-08-09 15:40:48
【问题描述】:

我有一个方法,它使用 java.util.Datejava.util.Calendar 对象给我当前的时区时间,我的一位同事建议添加 try catch 和 Exception e 来捕捉。但是当我在谷歌上搜索这些类的内置方法引发的任何异常时,我没有找到任何异常。

我还需要用 try 和 catch 包装代码吗???块是否需要try catch,如下所示:

try{
    Date dto = Date();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(dto);
    String dateString = calendar.getTime().toString();
    return dateString;  
}catch(Exception e){
    e.getMessage();
}

【问题讨论】:

  • 不,不是……
  • @ThomasAyoub:你能详细解释一下吗?
  • 也许显示您的代码可以让人们更轻松地分析您手头的问题?
  • 永远不要添加这样的 try-catch 代码。你忽略了例外。实际上,您可能无法添加这样的代码,因为编译器会抱怨缺少 return 语句。只需删除try-catch。仅当您对特定异常感兴趣时才应添加 try-catch,或者如果您确实希望即使发生错误也继续执行代码,在这种情况下您需要知道如何从错误状态继续执行。跨度>

标签: java


【解决方案1】:

在 Java 中,Exception 和 Error 类继承自 Throwable 类。异常和错误类有子类。

如果您的代码抛出异常(RunTimeException 除外),您必须捕获此异常。但是如果您的代码抛出 RunTimeException 或 Error,您必须重写不会抛出 RunTimeException 或 Error 的代码。

Throwable、Exception 和 Exception 子类(RunTimeException 除外)都是检查异常,所以你要捕获这个异常。

但 RunTimeException 和 Error 类是未经检查的异常,因此您必须重写不会抛出 RunTimeException 或 Error 的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多