一(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语句中的句子一定会执行,常用于关闭流。