Java学习心得--异常

时间:2022-01-31 13:41:40

一(1)、User.java:

public class User{
private int age;

public void setAge(int age){
if(age < 0){
RuntimeException r = new RuntimeException("年龄不能为负数");
throw r;
}
}
}

二(1)、Test.java:

public class Test{
public static void main(String args []){
User user = new User();
user.setAge(-20);
}
}

三(2)、User.java:

public class User{
private int age;

public void setAge(int age) throws Exception{
if(age < 0){
Exception e = new Exception("年龄不能为负数");
throw e;
}
}
}

四(2)、Test1.java:

public class Test1{
public static void main(String args []){
User user = new User();
try{
user.setAge(-20);
}catch(Exception e){
System.out.println(e);
}finally{

}

}
}

五、详解:

       1、一种是Exception和除了(RuntimeException及其子类),这种异常如第二个例子,在编译时候如果不加try catch,则会报错。解决方法,在程序中加上try catch。例如要读一个磁盘文件但是磁盘文件没有,这样做是为了程序的健壮性。

       2、一种是RuntimeException及其他的子类,这种异常只有在程序运行的时候会出现。解决方法,把代码修改正确,而不是继续用try catch。

       3、无论执行try还是catch里面的语句,finally语句中的句子一定会执行,常用于关闭流。