深入Java的异常处理机制[云图智联]

(一)什么是异常和异常处理

异常:程序不正常的行为和状态。比如试图打开一个根本不存在的文件等。
异常处理:程序返回到安全状态。异常处理会改变程序的控制流程,让程序有机会对错误做出处理。

(二)异常的分类

1.检查性异常:外界相关的错误。eg:打开一个不存在的类、加载一个不存在的类等。
2.运行时异常:程序有关的异常。eg:5/0空指针、数组越界等。
3.ERROR:系统内部错误或资源耗尽。错误不是异常,而是脱离程序员控制的问题。

(三)异常处理机制

(3.1)try-catah语句

JAVA使用try-catch语句来处理异常,将有可能出现的异常操作放在try-catch的try部分,一旦try部分抛出异常对象,或调用某个可能抛出异常对象的方法,并且该方法抛出了异常对象,那么try立即结束执行,转向catch部分。所以程序将发生异常后的处理放在catah部分。

try-catah语句大的格式如下:
深入Java的异常处理机制[云图智联]_第1张图片

(3.2)调试代码

深入Java的异常处理机制[云图智联]_第2张图片

(四)自定义异常类

(4.1)自定义异常类概述

在编写程序时可以继承Exception类或者其子类定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。程序必须在try-catch块语句中调用可能发生异常的方法,其中catch的作用就是捕获throw关键字的异常对象。

注:throw不是JAVA的关键字,该关键字的作用就是抛出异常。throw和throws是两个不同的关键字。

(4.2)调试代码

深入Java的异常处理机制[云图智联]_第3张图片

深入Java的异常处理机制[云图智联]_第4张图片

注意一个方法被覆盖,覆盖它的方法必须抛出相同的异常,或者异常的子类。如果父类的方法抛出多个异常,那么重写的子类方法必须抛出哪些异常的子集,也就是不能抛出新异常。

你可能感兴趣的:(java,异常处理)