异常概念分类
异常( Exception 也称例外)就是在程序的运行过程中
所发生的不正常的事件,它会中断正在运行的程序
所需文件找不到
网络连接不通或中断
算术运算错 (被零除…)
数组下标越界
装载一个不存在的类或者对 null 对象操作
类型转换异常
……
当 Java 程序出现以上的异常时,就会在所处的方法 中产生一个异常对象。这个异常对象包括异常的类型, 异常出现时程序的运行状态以及对该异常的详细描述
异常的分类:
异常处理方式——捕获异常
捕获异常所使用的关键字 try 、catch 、finally
1)try-catch 组合
a)正常情况
b)异常情况,异常出现的类型与捕获的类型匹配
c)异常情况,异常出现的类型与捕获的类型不匹配
2)try-finally 组合
finally 是无论是否产生异常,都执行的代码,但是有 一种情况 finally 不执行,即退出 Java 虚拟机
package com.bjsxt.exception;
import java.util.Scanner;
public class CatchException {
public static void main(String[] args) {
int c;
try {
Scanner intput=new Scanner(System.in);
System.out.println("请输入被除数:");
int a=intput.nextInt();
System.out.println("请输入除数:");
int b=intput.nextInt();
c=a/b;
System.out.println("a/b的结果是:"+c);
// System.exit(0);
} finally {
System.out.println("finally里面的代码");
}
System.out.println("程序结束,谢谢你的使用!");
}
}
这是将system.exit(0)注释的情况下
这是将system.exit(0)取消注释的情况下
3)try-catch-finally 组合
a) 正常情况:执行 try-finally
b) 异常情况:类型相匹配,执行 try-catch-finally
c) 异常情况:类型不相匹配,执行 try-finally
如果在 catch 中存在 return 语句,则先执行完 finally 语句再回头执行 return 语句