目录
四个关键字try catch finally throw
异常的分类与结构
【1】层次结构
【2】Error(错误)与Exception(异常)
四个关键字try catch finally throw
try-catch可以简单的来说就是try里面对代码进行尝试,catch进行捕获
而且在第一个异常出现后try后续的代码不再会执行,但值肯定的就是我们对异常进行捕获后
后续的代码是还可以执行的,除将异常抛出外(后续的代码无法正常执行),
throw可以理解为将异常甩锅给虚拟机,但虚拟机是不知道怎么处理的,它只会将异常打印于控制台。
finally里面的代码块在绝大多数的情况下是一定会执行的,除一种情况外(虚拟机退出)(System.exit(int a);)
package com.xfy10;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
try {//捕捉异常
Scanner input = new Scanner(System.in);
System.out.println("输入a为:");
int a = input.nextInt();
System.out.println("输入b为:");
int b = input.nextInt();
System.out.println(a / b);//在JDK1.7之后异常可以并列处理
}catch (InputMismatchException |ArithmeticException ex){
System.out.println("你的输入有问题");//但还是无法准确区分程序的问题出在哪
//多重catch异常-=---- 先进行子类再进行父类
}catch (Exception ex){//对于异常的处理我们有三种方式
//1.什么都不做
//System.out.println("你的姿势不对!!!");
//2.抛出异常导致后续的操作都终止
// throw ex;//抛出异常
//3.打印异常,但不会影响后续操作,这就很有利于我们去找异常
// System.out.println(ex.getCause());
ex.printStackTrace();
}finally {//无论在何种情况下这里面的代码都将会执行,除虚拟机退出除外
System.out.println("-----1");
}
System.exit(9);//退出虚拟机的操作
}
}
异常的分类与结构
【1】层次结构
此为运行时出现异常
检查异常,可能会出差,系统的一种防范机制。
【2】Error(错误)与Exception(异常)
异常(Exception)都是运行时的。编译时产生的不是异常,而是错误(Error)。
最开始大家都将程序设计导致的错误(Error)认定文不属于异常(Exception)。
但是一般都将Error作为异常的一种,所以异常一般分两类,Error与Except



