Java【8】异常处理

1、异常处理概述

三类程序错误

  1. 编译错误–因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置;
  2. 运行时错误–因为程序在执行时,运行环境发现了不能执行的操作;
  3. 逻辑错误–因为程序没有按照预期的顺序和逻辑执行。

异常——程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等。如果置之不理,程序便会终止或直接导致系统崩溃,显然这不是我们希望看到的结果。

异常处理机制——当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。

★ 掌握和编写处异常理机制程序:找到异常出现的逻辑、使用完整的数据测试、形成有针对性的处异常理。

2、异常的分类

Java【8】异常处理
Throwable是所有异常的共同祖先,异常都是从Throwable继承而来的。Throwable有两个子类,Error和Exception。

① Error是错误,表示运行应用程序中出现了严重的错误,都是通过Error抛出的,一般是程序不能处理的系统错误。错误是没法处理的。

Error类包括一些不能被程序员处理的严重的系统错误类,共有12个直接子类,一般表示代码运行时 JVM(Java 虚拟机)出现的问题,如内存溢出、虚拟机错误、栈溢出等。这类错误与硬件有关,大多数错误与代码编写者执行的操作无关,通常由系统进行处理,程序本身无法捕获和处理。如:当JVM耗完可用内存时,将出现OutOfMemoryError。如Java虚拟机运行错误,将出现VirtualMachineError、类定义错误将出现NoClassDefFoundError等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。

② Exception是异常,表示程序运行时,程序本身可以捕获并且可以处理的错误。异常是可以被处理的!
Java【8】异常处理
常见的异常有:

输入输出异常:IOException
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
操作数据库异常:SQLException
文件未找到异常:FileNotFoundException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
字符串转换为数字异常:NumberFormatException
方法未找到异常:NoSuchMethodException

Java【8】异常处理

3、