java异常处理
来源:互联网 发布:二级运动员知乎 编辑:程序博客网 时间:2024/06/06 19:32
7.31总结
1.异常
- 在程序的运行过程中所发生的不正常的事件,会中断正在运行的程序。
2.异常类的层次结构
3.java异常类
4.java异常处理
- java的异常处理是通过5个关键来实现的:try、catch、finally、throw、throws。
try-catch处理异常的三种情况:
- try里边的代码段不产生异常,程序执行catch语句后的代码段。
- try里边的代码块产生异常,但catch 到的异常类型与所产生的异常对象的类型不匹配,导致程序直接中断。
- try里边的代码块产生异常,且catch到的异常类型与所产生的异常对象的类型匹配,执行catch语句。
try-catch-finally处理异常
在try-catch块后加入finally块,可确保无论是否发生异常,finally块中的代码总能被执行。- 如果在当前环境无法解析一个异常,就要使用throws声明异常,用throw将异常抛出,把它交给调用者处理。
5.用户自定义异常
- JavaAPI提供的内置异常不一定总能捕获程序中发生的所有错误,有时会需要创建用户自定义异常 。
- 自定义异常需要继承Exception 及其子类
- 格式:
public class 自定义异常名 extends Exception{
public 自定义异常名(){
super();
}
public 自定义异常名(String message){
super(message);
}
}
6.(1)异常案例1
(2)异常案例2
- 编写如下异常类:
空异常(NullException ,年龄低异常(LowAgeException),年龄高异常(HeightAgeException),
工资低异常(LowSalaryException),工资高异常(HighSalaryException),身份证非法异常(IdCardException)- 编写一个员工类,
(1) 有属性:
编号,姓名,年龄,工资,身份证号码,员工人数(10),员工工资总额(10000)
(2) 有构造器:
构造器1:设置编号,年龄,姓名;如果年龄小于18,抛出年龄低异常;如果年龄大于60
抛出年龄高异常,如果姓名为null或为空字符串,抛出空异常。
构造器2:设置工资,设置身份证号码;如果工资低于600,抛出工资低异常。
如果身份证不是18位,抛出身份证非法异常。
(3) 有方法
增加工资 addSalary(double addSalary),抛出工资高异常,当增加后的工资大于员工工资总额时,抛出此异常。
减少工资 minusSalary(double minusSalary), 抛出工资低异常,当减少后的工资低于政府最低工资时,抛出工资低异常。
显示员工工资总额方法:showTotalSalary(),抛出空异常,当工资总额为0时,抛出此异常。
显示员工人数:voidshowTotalEmployee(),抛出空异常。当员工人数为0时,抛出此异常- 编写main主测试类
生成员工,测试构造方法的异常抛出。
每个员工分别增加,减少工资,测试方法的异常。
显示员工的人数和工资总额。
在本案例中,测试类中只声明了两个员工,可自行改变传入的值,得到不同的异常信息,或创建多个对象,分别测试异常信息。
阅读全文
0 0
- 【java】java异常处理
- java异常和异常处理
- Java 异常及异常处理
- java异常与异常处理
- Java异常处理-----自定义异常
- Java异常与异常处理
- java异常及异常处理
- Java 异常与异常处理
- Java异常与异常处理
- Java异常及异常处理
- Java异常处理--自定义异常
- JAVA异常之异常处理
- Java异常处理-----自行处理
- Java异常处理-----抛出处理
- Java异常处理-----抛出处理
- java异常处理
- java 异常处理分析
- java异常处理
- CSU1563-Lexicography
- [LeetCode] 71. Simplify Path
- 一文看懂迁移学习:怎样用预训练模型搞定深度学习?
- 设置label不同颜色
- 前台到后台中文传值乱码问题
- java异常处理
- n皇后问题
- React-Native集成JPush-react-native及应用设置Tags、Alias(iOS/Android)
- 次小生成树
- 获取下拉框选中的值
- android 自定义横向文字跑马灯控件
- 一次封装JNI时的崩溃
- C++中前置++与后置++运算符重载
- Codeforces Round #426 (Div. 2) The Useless Toy