首页 > 编程知识 正文

自定义异常的实现方法,自定义异常的步骤

时间:2023-05-04 07:45:49 阅读:231106 作者:4790

异常信息是如何打印出来的呢?我们在异常类中定义一个带参构造方法,使用super继承父类的构造方法,然后就可以使用getMessage或者printStackTace来显示异常信息了。

public ScoreException(String message){ super(message);}

我们跟踪看一下在父类中如何实现打印信息的,首先看Expection类,可以看到message也是继承的,如下:

public Exception(String message) { super(message); }

我们继续跟踪,可以看到Throwable类,如下:

public Throwable(String message) { fillInStackTrace(); detailMessage = message; }

可以看到message是赋值给了detailMessage,那detailMessage是什么呢?再次跟踪发现他是一个成员方法。这里就有getMessage获取成员变量的值了,实现如下:

public String getMessage() { return detailMessage; }

以下是自定义异常的完整实现

测试类 package exception0804;import com.lijugang;import java.util.Scanner;public class TeacherTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int score = sc.nextInt(); Teacher t = new Teacher(); try { t.checkScore(score); } catch (ScoreException e) { e.printStackTrace(); } }} 异常类 package exception0804;public class ScoreException extends Exception{ public ScoreException(){ } public ScoreException(String message){ super(message); }} 实现类 package exception0804;public class Teacher { public void checkScore(int score) throws ScoreException{ if (score <0 || score >100){ //throw new ScoreException(); throw new ScoreException("您给的分数有误,分数应该在0-100之间"); }else{ System.out.println("分数正常"); } }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。