Java异常

/*
* 1.如何自定义一个异常类
* 1.1: 自定义的异常类继承现有的异常类(Exception )
* 1.2: 提供几个重载的构造器
* 1.3: 提供一个序列号
* */

/*
* 异常处理的第二种方式 : 在方法的声明处,显示的抛出异常对象的类型
*
* 格式: public static void method2() throws Expection{}
*
* 当在此方法内部出现异常时,会抛出一个异常对象,抛给方法的调用者
* 异常类的对象可以往上抛,直到main()
*
* throws+异常的类型
* throw+异常类的对象
*
*
* */

/* 如何处理Exception
* 1.抓:
*
*
*
* 注意1. try内声明的变量,类似于局部变量,出了try{}语句,就不能被调用
* 2.catch(异常的类型):语句内部是对异常对象的处理
* 3.finally是可选的
* 4.catch语句内部对异常对象的处理
* 1.getMessage() //获取错误信息
* 2.printStackTrace()//打印信息
* 5. 可以有多个catch,try里出现的异常类对象从上往下去匹配catch里的异常类
* 一旦满足就执行catch里的代码,执行完就跳出其后多余的catch
* catch块里如果有 多个catch 子类放在父类的上面
* 6。如果异常处理了,那么其后的代码就会继续执行
* 7.finally: 这里是必须要执行的代码(不论try里 还是 catch有还是没有异常,都会执行)
*
* */

 

/*
* 这个方法的返回值是0 ,执行过程 : 在执行到try内的return ret语句前,
* 会把返回值ret 存在一个临时变量里,然后在执行finally语句,最后try在返回
* 那个临时变量
* */

 

 

在年龄的基础上判定年龄是否为1`100之间,在就输出,否者手动抛出异常

package cn.kgc;

/**

*建立年龄类

*/

public class Person {
private int age;

public int getAge() {
return age;
}

public void setAge(int age) throws Exception {

if(age>=1&&age<=100){
this.age = age;
}else{
throw new Exception("年龄必须在1~100之间");//手动抛出异常

}
}

测试类

package cn.kgc;

import java.util.Scanner;

public class TestPerson {

public static void main(String[] args) {
/*Scanner sc=new Scanner(System.in);
System.out.println("请输入你的年龄");
try{
int aa=sc.nextInt();
Person pe=new Person();
pe.setAge(aa);
System.out.println(pe.getAge());
}catch(Exception e){
e.printStackTrace();
System.out.println("输入错误");
}*/
Person pe=new Person();
try {
pe.setAge(525);
System.out.println(pe.getAge());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("输入错误");
}

}

}

//两种方式的输入

posted @ 2019-01-12 11:40  叫声大哥教你梳中分  阅读(123)  评论(0编辑  收藏  举报