异常是什么?
异常就是在程序运行过程中所发生的不正常的事件,它会中断正在运行的程序。
错误和异常的区别:
异常出现:中断正在运行的程序
错误出现:不一定会中断程序,它会以另外错误的方式来运行程序。
关键字:try、catch、finally、throw、throws
try : (试着运行),和catch(捕捉异常)、fanally(始终执行)搭配使用,例如:
try{
//可能会运行出错的代码
}
catch(异常类型 变量名<Excption e>)
{
System.out.println(“你的输入有误。。。。”);
e.printStackTrace(); //以堆栈的方式显示异常信息
}
finally{
System.out.println(“欢迎使用系统。。。。。”);
}
多重catch用法:
在安排catch语句顺序时,首先应该捕获最特殊的异常,然后再逐渐一般化,即先子类后父类。
public void method(){
try {
// 代码段
// 产生异常(异常类型2)
} catch (异常类型1 ex) {
// 对异常进行处理的代码段
} catch (异常类型2 ex) {
// 对异常进行处理的代码段
} catch (异常类型3 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
throws声明异常
在声明方法时同时声明异常,当该方法被调用时强制调用者处理异常
调用者处理异常的方法有:
1.try,catch捕捉异常
2.throw(抛出异常,向上一级抛出异常,最后把异常抛给虚拟机)
例题:异常处理一个整数是否能被2整除。
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个整数判断是否能被2整除:");
try{
int a=input.nextInt();
if (a%2==0)
{
System.out.println("你输入的数能被2整除");
}
else{
System.out.println("你输入的数不能被2整除。。。");
}
}
catch(Exception e)
{
System.out.println("你的输入有误");
e.printStackTrace(); //以堆栈的方式输出异常信息
}
finally{
System.out.println("欢迎使用。。。。。");
}
}
}