Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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_Exception_Message - Fatal编程技术网

Java 哪一种是处理自定义异常消息的更好方法

Java 哪一种是处理自定义异常消息的更好方法,java,exception,message,Java,Exception,Message,我有一段代码,其中包含一些自定义异常,我想知道处理异常错误消息的最佳/高效方法是什么 像这样 public class coolExceptionName extends Exception{ public coolExceptionName(String a){ super(a); } } 或 public class coolExceptionName extends Exception{ @Override public Stri

我有一段代码,其中包含一些自定义异常,我想知道处理异常错误消息的最佳/高效方法是什么

像这样

public class coolExceptionName extends Exception{
     public coolExceptionName(String a){
         super(a);
     }
}

public class coolExceptionName extends Exception{
     @Override
     public String toString(){
        return "Error Message";
     }
}

哪种方法被视为标准做法?

我认为第一种方法是处理异常的更好方法,因为您可以为自定义异常提供不同的消息。您还可以在
CooleExceptionName(HttpStatus status,String message)
构造函数中包含状态代码,以定义
HTTP
状态代码,如
403
400
500
404
,以应对代码中可能出现的各种错误。第一个比第二个更有用。在第一种情况下,您可以根据您的错误事件给出错误消息,但在第二种情况下,由于所有错误都有相同的消息,因此不利于找出代码中的实际问题。正如其他人建议的那样,我还将在自定义异常中添加一些“错误代码”/前缀。假设我在.properties文件中存储了一些标准消息,然后?您可以使用
@Value
注释从
.properties
文件中读取值,并在类中声明一个
字符串
变量,该变量将保存错误消息值->
@Value(“${notfound.error}”)字符串errorMessageForNotFound。当您在抛出异常时调用构造函数来显示消息时,只要在其中使用
errorMessageForNotFound
变量就可以了。