public class Student {
checkAge (Student student) {
try {
if (student.getAge() > 18 ) {
throw new CustomException("Student is older than 18 years.");
}
} catch (CustomException e) {
handleException(e);
}
}
public class HandleException {
public static sendToErrorReport (CustomException customException) {
//trying to do something like this, but the below code throws an error.
customException.setMessage(customException.getMessage() +" ; Student -> " + customException.getStudent().getStudentName);
}
}
我创建了一个自定义类来处理项目中发生的异常。我的要求是更改异常消息,并将一些数据附加到异常消息中,然后将其传递给我的自定义类。
因此,基本上,一旦设置了异常消息,我就需要对其进行编辑。
有什么办法可以做到这一点?
答案 0 :(得分:0)
您可以覆盖getMessage
类的Exception
方法
class CustomException extends java.lang.Exception{
@Override
public String getMessage(){
return super.getMessage() + "- My Message";
}
}
答案 1 :(得分:0)
在代码中引发异常时
try{
//Some code here
}catch(Exception e){
throw new CustomeException("Your text here")
}
在其他地方捕获CustomeException时,可以对其进行修改。
try{
//Some code here
}catch(CustomException e){
String message = e.getMessage();
//Do stuff with previous message
throw new Custom2Exception("Your next text here")
}
答案 2 :(得分:0)
这里是完整的CustomException类,它扩展了RuntimeException类。您可以定义代码和消息。
public class CustomException extends RuntimeException {
private String code;
private String message;
public CustomException() {
super();
}
public CustomException(Exception e) {
super(e);
}
public CustomException(String code, String message, Exception e) {
super(message, e);
this.code = code;
}
}