覆盖 Java 中的异常

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

    }

}

我已经创建了一个自定义类来处理我的项目中发生的异常。我的要求是更改异常消息并将一些数据附加到异常消息并将其传递给我的自定义类。


所以基本上我需要在设置异常消息后对其进行编辑。


有什么办法可以做到这一点?


烙印99
浏览 111回答 3
3回答

繁华开满天机

这是扩展 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;    }}

一只名叫tom的猫

你可以覆盖类getMessage的方法Exceptionclass CustomException extends java.lang.Exception{    @Override    public String getMessage(){        return super.getMessage() + "- My Message";    }}

倚天杖

在您的代码中抛出异常时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")}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java