栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第五章 异常处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第五章 异常处理

版本:JDK1.8
注:观看尚硅谷视频的复习笔记

1、Throwable:是Error和Exception的父类。

2、Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:tackOverflowError(栈溢出)和OOM(堆溢出)。一般不编写针对性的代码进行处理。

3、Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:空指针访问、试图读取不存在的文件、网络连接中断、数组角标越界。

一、异常分类

1、编译时异常(受检异常)

2、运行时异常(非受检异常)

NullPointerException:空指针异常

ArrayIndexOutOfBoundsException:数组角标越界

StringIndexOutOfBoundsException:字符串角标越界

ClassCastException:类型转换异常

NumberFormatException:数值转换异常

InputMismatchException:输入不匹配异常

ArithmeticException:算术异常

二、异常处理方式

1、抓抛模型

(1)、抛:程序正常执行,一旦出现异常,就会在异常代码处生成一个对应异常类的对象,并将此对象抛出,一旦抛出对象后,后面的代码不再执行。

(2)、抓:获得异常对象,并处理。

异常处理方式:try-catch-finally、throws

(一)、try-catch-finally
try{
    //可能出现异常的代码
    //抛出异常后 try内代码不再继续执行。
}catch(异常类型1 变量名1) {
	//异常处理方式1
}catch(异常类型2 变量名2) {
	//异常处理方式2
}finally{
	//一定会执行的代码
}

1、finally是可选的

2、使用try将可能出现异常的代码包装起来,在执行过程中,一旦出现异常,就会出现一个异常对象,根据此对象类型,去catch中进行匹配

3、一旦try中异常匹配某一个catch时,就进入catch中处理,一旦处理完成,就跳出当前try-catch结构(若有finally则执行finally),继续执行后面的代码。

4、catch中的异常类型如果没有子父类关系,谁在上都无所谓;如果有子父类关系,则子类在上。

5、异常对象的常用方法:String getMessage()、void printStackTrace()

6、在try中声明的变量,try以外不可以调用。

7、处理编译时异常时,程序编译时不再报错,但运行时仍可能报错。

8、finally中代码一定执行,即使catch中出现异常,try、catch中有return语句,仍然执行,且在return之前首先执行finally。

9、运行时异常太多了,不考虑处理,但编译时异常一定要处理。

(二)、throws + 异常类型1,异常类型2
public void method() throws Exception {

}

1、写在方法声明处,当此方法执行时出现异常,会产生一个异常对象,此对象满足throws后异常类型时,就会被抛出,异常代码后续代码不再执行。

2、throws抛出异常给方法调用处,并没有将异常处理掉,可以连续向上抛出。

三、子类重写父类的抛出异常方法

1、重写的抛出异常类型不大于父类被重写的方法抛出的异常。

2、如果父类中被重写的方法没有throws方式抛出异常,则子类重写的方法也不能throws,如果子类重写的方法中出现异常,必须try-catch-finally处理异常。

四、手动创建异常

异常的产生:

1、系统自动生成异常对象

2、手动创建异常,并抛出(throw)

throw new NullPointerException("输入出错");
五、自定义异常类

继承异常类–>提供全局常量:serialVersionUID–>提供重载的构造器

//自定义异常类
public class EcDef extends Exception {

	static final long serialVersionUID = -33875164229948L;

	public EcDef() {
	}

	public EcDef(String msg) {
		super(msg);
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号