Java中所有异常的父类是Throwable类,在Throwable类下有两大子类:
一个是Error类,指系统错误异常,例如:VirtualMachineError 虚拟机错误,ThreadDeath
线程死锁。一般如果是Error类的异常的话,就是程序的硬伤,就好比是工厂里断水断电,机器损坏了。另一个是Exception类,指编码、环境、用户操作输入等异常,这个是比较常见的异常类,Exception类下面又有两个子类,RuntimeException非检查异常和检查异常,非检查又称为运行时异常。
RuntimeException异常中有几个常见的子类,例如:
InputMismatchException 输入不匹配异常
ArithmeticException 算术运算异常
NullPointerException 空指针异常
ArrayIndexOutOfBoundsException 数组下标越界异常
ClassCastException 类型转换异常
检查异常中的子类有:
IOException 文件异常
SQLException SQL数据库错误异常
在实际的开发中,处理异常一般使用以下三种方式:
一、使用try-catch语句块捕获和处理异常
使用try-catch 以及 try-catch-finally 来捕获和处理异常时,catch里的异常列表一般是子类在前,父类在后,不然编译时程序会报错。示例如下:
import java.util.InputMismatchException;
import java.util.Scanner;
public class 异常处理 {
public static void main(String[] args) {
System.out.println("请输入你的年龄");
Scanner input = new Scanner(System.in);
try{
System.out.println("请输入第一个数:");
int one = input.nextInt();
System.out.