异常处理
1. 体系结构
运行时异常: 执行java.exe命名时,出现的异常
编译时异常: 执行javac.exe命名时,可能出现的异常
2. 异常处理
处理方式一
处理方式二
"throws + 异常类型"写在方法的声明处。指明此方法执行时,可能会抛出的异常类型。一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行!
如何手动的抛出一个异常
典型例题
class Student{
private int id;
public void regist(int id) throws Exception {
if(id > 0){
this.id = id;
}else{
//手动抛出异常对象
// throw new RuntimeException("您输入的数据非法!");
// throw new Exception("您输入的数据非法!");
throw new MyException("不能输入负数");
}
}
@Override
public String toString() {
return "Student [id=" + id + "]";
}
}
如何自定义一个异常类?
补充
throw 和 throws区别:
- throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。
- throws 属于异常处理的一种方式,声明在方法的声明处。
类似:
final、finally、finalize三者的区别?
throw 和 throws
Collection 和 Collections
String 、StringBuffer、StringBuilder
ArrayList 、 LinkedList
HashMap 、LinkedHashMap
重写、重载
结构不相似的:
抽象类、接口
== 、 equals()
sleep()、wait()