Java中的异常(1)
主要内容:
1.什么是异常
2.异常的分类
主要内容:
1.什么是异常
2.异常的分类
3.try...catch...finally结构的使用方法
什么是异常:
异常:中断了正常指令流的事件
异常是在运行的时候生成的。异常后后面的指令就不会运行了。
异常的分类:
上图都是JDK提供的异常类
使用try...catch...就可以先处理异常,再继续执行指令。finally表示不管出不出异常都会执行finally中的代码。。
Java中的异常(2)
主要内容:
1.throw的作用(手动抛出异常)
2.throws的作用(用在函数声明后面)
throw的使用:
class User{
private int age;
public void setAge(int age){
if(age < 0){
RuntimeException r = new RuntimeException("年龄不能为负数");//实例化一个runtime异常
throw r;//在JDK无法处理的使用,人工使用异常抛出
}
this.age = age;
}
}
class Test{
public static void main(String args[]){
User user = new User();
user.setAge(-20);//设置年龄为负数
}
}
编译执行:
shanl@shanl-Aspire-4740:~/Javastudy/src/Exception$ javac *.java
shanl@shanl-Aspire-4740:~/Javastudy/src/Exception$ java Test
Exception in thread "main" java.lang.RuntimeException: 年龄不能为负数
at User.setAge(User.java:6)
at Test.main(Test.java:4)
对于除了RuntimeException之外的Exception就需要使用try。。catch。。进行捕捉。class User{
private int age;
public void setAge(int age) throws Exception{//在被调用的时候会进行处理异常,在调用该函数的部分需要对该异常进行捕捉,自己就不处理了。
if(age < 0){
Exception r = new Exception("年龄不能为负数");
throw r;
}
this.age = age;
}
}
class Test{
public static void main(String args[]){
User user = new User();
try{//由调用函数进行处理异常
user.setAge(-20);
}catch(Exception e){
System.out.println(e);//打印异常
}
}
}