12日目の異常

12日目

1.プロジェクト

学生管理系统

2.異常

2.1異常な生活

2.2例外コード

Throwable类
	Java中所有异常的超类,在Java中所有异常,错误的基类都是Throwable类
	
Throwable
--| Exception 异常 可以处理, 代码还有拯救的可能
--| Error 错误 没救了

Throwable常用方法
	Constructor
		Throwable():Throwable构造方法,Throwable类对象中,存储的异			常或错误信息为null
		Throwable(Stirng message):Throwable构造方法,Throwable			 类对象中,存储异常或错误信息为message
	Method
		String getMessage():返回异常或错误信息
		String toString():返回报名(有错误或异常信息会展示)
		void printStackTrace(): 红色字体展示错误前因后果

2.3例外とエラーの違い

Exception 异常, 可以处置
Error 错误,不可处置,智能避免

2.4例外処理

2.4.1例外をキャッチ

try - catch 结构
try - catch - finally 结构 后期设计到资源问题

格式
    try {
		// 可能出现异常代码
    } catch (/* 对应处理的异常对象 */) {
    	// 处理方式
    }

2.4.2は、例外がスローされます

throw
	在方法内抛出异常
throws
	在【方法声明】位置,告知调用者当前方法有哪些异常
	
1. 一个代码块内,有且只能抛出一个异常
2. throw位置开始,之后的代码不再运行
3. 代码存在throw抛出异常,在方法声明位置告知用户什么异常

2.4.3スローとキャッチ比較

捕获之后,代码可以正常运行,要保证处理之后的异常不会再导致其他问题。

抛出的确可以解决很多问题,并且可以让代码健壮性很强。但到用户层面说什么也不能抛出异常。
	所谓不能抛出,指不能将错误信息直接给用户
	
用户密码错误情况
	1. 捕获异常
	2. 通过异常处理,将错误抛出
	3. 给与用户友好的提示

2.4.4なぜ大きな異常は使用しないで、なぜそれが間違っていました

Exception
	No!!!
	对症下药!
	不能所有的异常都使用Exception捕获或者抛出无法得知具体的异常类型,无法做到对症下药
	
为什么出错
	IDE都会有当前错误的提示
	正常情况下,只要不是带有自定义异常的方法,通常都会有异常处理方式

2.5のRuntimeException

运行时异常
	JVM在运行的过程中可以非检查异常
	例如:
		ArrayIndexOutOfBoundException
		NullPointerException
		StringIndexOutOfBoundException
		ArithmeticException
	
	这些异常在代码中如果出现,不需要在代码中强制进行捕获或抛出的异常

2.6カスタム例外

代码运行过程中存在一定的生活化
	例如
		用户名密码错误
		NoGirlFriendException
		
自定义异常格式
	class 自定义异常类名 extends Exception {
		// No Fields Constructor
		
		// String Field Constructor
	}
	自定义异常类名
		必须以Exception结尾
公開された19元の記事 ウォン称賛14 ビュー2727

おすすめ

転載: blog.csdn.net/m0_37771142/article/details/104563693