:1、throw
package com.tzxy;
/*
* throws方式处理异常:
* 定义功能方法时,需要把出现的问题暴露出来让调用者去处理
* 那么就通过throws在方法上标识
*/
public class Demo2_Throw {
public static void main(String[] args) throws Exception {
Person p = new Person();
p.setAge(-17);
System.out.println(p.getAge());
}
}
class Person{
private String name;
private int age;
public Person() {
super();
// TODO Auto-generated constructor stub
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) throws Exception {
if(age>0&&age<150){
System.out.println(age);
}else{
throw new Exception("年龄非法");
}
}
}
2、抓取多个异常
package com.tzxy;
/*
* try..catch处理多个异常
* ee:服务端开发,一般都是底层开发,从底层往上抛
* final:无论程序中有无异常,final中的代码都可以运行
*/
public class Demo1_Excepction {
public static void main(String[] args) {
int a = 0;
int b = 10;
int[] array = {10,12,45,21,44,55,66,11};
//try后面如果有多个catch
// 那么小的异常放前面,大的异常放后面,如果大的异常放前面,那么就会将子类异常覆盖掉,那么后面的catch就没有意义了。
try {
// System.out.println(b/a);
System.out.println(array[10]);
} catch (Exception e) {
// TODO: handle exception
System.out.println("出错了");
}
}
}
也可以throws 异常1,异常2