您的位置:首页 > 编程语言 > Java开发

JAVA初级(二十三)异常处理(3)自定义异常的介绍和使用

2019-01-06 22:02 1406 查看

这节介绍自定义异常。自定义异常的创建很容易。但是要弄清楚是否需要创建一个自定义异常

自定义异常如何定义?

1,创建一个类继承RuntimeException,这样就能创建一个运行时异常。

public class TooMuchMoneyException extends RuntimeException{
private String errorMsg;

public TooMuchMoneyException (String errorMsg){
super(errorMsg);//要调用父类的构造方法.这样出异常的时候才会打印异常信息
this.errorMsg = errorMsg;
}
}

这样一个运行时自定义异常就创建完了,执行一下代码

public static void main(String[] args) {
fun(111);
}

public static void fun(int money) {
if(money>100){
//抛出一个自定义异常
throw new TooMuchMoneyException("钱"+money+"超过100块了");
}else {
System.out.println("取钱成功:"+money+"元");
}
}

结果👇

这样就有属于自己的异常的。至于什么时候要让它出异常,就看你自己设计了。

2,如果要创建一个检查性异常,就继承Exception
就像这样👇

public class NotSuchStudentFoundException extends Exception{
private String errorMsg;
public NotSuchStudentFoundException(String errorMsg){
super(errorMsg);
this.errorMsg = errorMsg;
}
}

然后在你需要的类的构造方法使用这个异常就能做到检查型异常的效果

public class Student {
private String name;
public Student(String name) throws NotSuchStudentFoundException{
//假如这个学生里面只有"李四一个学生"
if(!"李四".equals(name)){
throw new NotSuchStudentFoundException("没有找到"+name+"这个学生");
}
this.name = name;
}
}


你这样创建一个学生类,由于这个学生类的构造方法抛出了一个检查性异常。所以你在创建学生类的时候也要进行异常处理。然后你这么做👇👇

接着在运行,由于不是"李四"

运行出错,抛出异常。

到这,自定义异常的基本定义就介绍完了。
总结:
1,自定义检查性异常如何实现?
创建一个类继承Exception.同时要在构造方法中调用父类的构造方法。这样才能够输出你自定义的异常原因
2,自定义运行时异常如何实现?
同样的创建一个类继承RuntimeException就可以了
–>异常的命名规范,以Exception结尾这样才能让人更好的理解这就是一个异常。

那么一般什么时候会让你有造一个自定义异常的想法?
–>一般都是你想要造一个框架的时候。首先你造一个框架给别人用,肯定要让别人遵守你的使用规则才行。但使用者肯定会有使用出错的时候。一旦出错。那么你肯定就不能让程序继续下去了。这个时候就需要弄一个异常来告诫使用者这么用错了。而这个时候,系统自带的异常一般都不是你想要的。所以你自定义一个。自定义异常的目的大概就是因为这个情况

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: