Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将所有内容都包含在一次尝试捕获中是一个好主意吗_Java_Try Catch - Fatal编程技术网

Java 将所有内容都包含在一次尝试捕获中是一个好主意吗

Java 将所有内容都包含在一次尝试捕获中是一个好主意吗,java,try-catch,Java,Try Catch,我正在使用java,代码中的所有异常都源自java.lang.exception。将所有内容都包含在一次尝试捕获中是一个好主意吗?为每个困难的函数添加try-catch是一个好主意吗 因为我想让我的代码以一种懒惰的方式更好地运行,这意味着没有任何异常会导致我的程序崩溃,例如,catch IndexOutOfBoundsException、ArrayIndexOutOfBoundsException、SQLGrammarException 以下是我的密码: public MyResult func

我正在使用java,代码中的所有异常都源自java.lang.exception。将所有内容都包含在一次尝试捕获中是一个好主意吗?为每个困难的函数添加try-catch是一个好主意吗

因为我想让我的代码以一种懒惰的方式更好地运行,这意味着没有任何异常会导致我的程序崩溃,例如,catch IndexOutOfBoundsException、ArrayIndexOutOfBoundsException、SQLGrammarException

以下是我的密码:

public MyResult function1(){
    MyResult myResult = new MyResult();
    try{
        //all codes here
    }catch(Exception e){
        LOGGER.error(e);
        myResult.setException(e);
    }finally{
        return myResult;
    }
}

//more same functions using same try-catch here

public MyResult functionN(){
    MyResult myResult = new MyResult();
    try{
        //all codes here
    }catch(Exception e){
        LOGGER.error(e);
        myResult.setException(e);
    }finally{
        return myResult;
    }
}
我的代码中的所有异常都源自
java.lang.Exception

这可能不是一个好主意,因为有一类异常需要从
java.lang.RuntimeException
中定义,即指示编程错误的异常,即需要更改程序才能修复的情况

将所有内容都包含在一次尝试捕获中是一个好主意吗

不,不是。您应该根据需要添加
try
/
catch
,将它们放置在可能抛出它们的代码块周围,并且仅在代码准备以某种有意义的方式处理异常的情况下

为每个困难的函数添加try-catch是一个好主意吗

您不应该将
try
/
catch
放在不知道如何处理异常的方法中。更好的方法是让异常进入调用链,直到它到达准备处理异常的方法

有些情况下,这样的方法将位于调用链的最顶端,在这种情况下,该方法通常会记录并退出或返回错误状态

我的代码中的所有异常都源自
java.lang.Exception

这可能不是一个好主意,因为有一类异常需要从
java.lang.RuntimeException
中定义,即指示编程错误的异常,即需要更改程序才能修复的情况

将所有内容都包含在一次尝试捕获中是一个好主意吗

不,不是。您应该根据需要添加
try
/
catch
,将它们放置在可能抛出它们的代码块周围,并且仅在代码准备以某种有意义的方式处理异常的情况下

为每个困难的函数添加try-catch是一个好主意吗

您不应该将
try
/
catch
放在不知道如何处理异常的方法中。更好的方法是让异常进入调用链,直到它到达准备处理异常的方法


有些情况下,这样的方法将位于调用链的最顶端,在这种情况下,该方法通常会记录并退出或返回错误状态。

。基本上,您应该将
try
/
catch
放在可能引发异常的代码部分周围。这将使您的代码更好地结构化,并提高可读性


就个人而言,我不太喜欢使用
(例外e)
。如果其他人阅读了您的代码,他将不知道可能会发生哪些异常。我认为只使用
catch
块中可能抛出的异常更好。基本上,您应该将
try
/
catch
放在可能引发异常的代码部分周围。这将使您的代码更好地结构化,并提高可读性


就个人而言,我不太喜欢使用
(例外e)
。如果其他人阅读了您的代码,他将不知道可能会发生哪些异常。我认为只使用
catch
块中可能抛出的异常更好。

不可能。通常,当您有一些有意义的方式来响应异常时,您会使用
catch
,当您有一些逻辑需要发生时,无论
try/catch
的结果如何,您都会使用
finally
。如何处理异常或希望执行什么逻辑完全取决于您。没有一个通用的软件设计。有什么区别?不可能说。通常,当您有一些有意义的方式来响应异常时,您会使用
catch
,当您有一些逻辑需要发生时,无论
try/catch
的结果如何,您都会使用
finally
。如何处理异常或希望执行什么逻辑完全取决于您。没有一种通用的设计适用于所有的软件。有什么区别吗?唯一可以接受使用catch-all块的情况之一是用于日志记录,但即使这样,也应该记录日志,然后抛出异常。EDIT-@dasblinkenlight您必须输入比我快的速度…唯一可以接受使用catch-all块的情况之一是用于日志记录,但即使这样,也应该记录日志,然后抛出异常。编辑-@dasblinkenlight你必须比我打字快。。。