package com.bdqn2;
public class TestPerson {
public static void main(String[] args) {
Person person=new Person();
try {
person.SetAge(110);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
package com.bdqn2;
public class Person {
private String name="";
private int age=0;
private String sex="男";
public void SetSex(String sex)throws Exception {
if("男".equals(sex)||"女".equals(sex)){
this.sex=sex;
}else{
throw new Exception("性别必须是'男'或者'女'!");
}
}
public void SetAge(int age)throws Exception {
if(1<age&&age<100){
this.age=age;
}else{
throw new Exception("年龄必须是1~100之间!");
}
}
}
1.指出代码中的错误:catch中的Exeception e应该放在除此之外所有的异常类型后面
2.234,当i=1时,抛出新的异常,再捕获异常打印2,最终执行打印3,try语句执行完打印4。
3.`package com.bdqn1;
public class Test2 {
public static void main(String[] args) {
try{
int i[]=new int[2];
i[0]=0;
i[1]=1;
i[2]=2;
}catch(Exception e){
e.printStackTrace();
}
}
4.简述java异常体系结构
基本类型异常:Exception 异常层次结构的父类
ArithmeticException 算术错误情形,如以零作除数
ArrayIndexOutOfBoundsException 数组下标越界
NullPointerException 尝试访问 null 对象成员
ClassNotFoundException 不能加载所需的类
IllegalArgumentException 方法接收到非法参数
ClassCastException 对象强制类型转换出错
NumberFormatException 数字格式转换异常,如把"abc"转换成数字
最高级:object 其次:Throwable 再分为Exception 和Error,其中Exception 包括基本类型异常。