为了账号安全,请及时绑定邮箱和手机立即绑定

覆盖 Java 中的异常

覆盖 Java 中的异常

烙印99 2023-02-23 10:15:17
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);    }}我已经创建了一个自定义类来处理我的项目中发生的异常。我的要求是更改异常消息并将一些数据附加到异常消息并将其传递给我的自定义类。所以基本上我需要在设置异常消息后对其进行编辑。有什么办法可以做到这一点?
查看完整描述

3 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

这是扩展 RuntimeException 类的完整 CustomException 类。您可以定义代码和消息。


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;

    }

}


查看完整回答
反对 回复 2023-02-23
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

你可以覆盖类getMessage的方法Exception


class CustomException extends java.lang.Exception{


    @Override

    public String getMessage(){

        return super.getMessage() + "- My Message";

    }


}


查看完整回答
反对 回复 2023-02-23
?
倚天杖

TA贡献1828条经验 获得超3个赞

在您的代码中抛出异常时


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")

}


查看完整回答
反对 回复 2023-02-23
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信