【javaoop】第六课 异常

一 什么是异常

在程序运行期间发生的不正常的情况,会导致程序的中断执行

二 java中的异常体系

【javaoop】第六课 异常_第1张图片

1 Error和Exception的区别

  • Error是指程序不能处理的不正常情况,我们称为错误
  • Exception是指程序能处理的不正常情况,我们称为异常

2 RuntTimeException(运行异常)和IOException(检查异常)的区别

  • 运行时异常是指程序可以处理也可以不处理的异常
  • 检查异常是指程序在编译阶段一定要处理的异常

三 什么是异常的处理

是指在编程阶段对程序中可能出现的异常设置的一些解决方案。当异常发生的时候,程序会按照预先设置的解决方案执行。从而保证程序发生异常时能够继续执行不会发生程序的中断。我们把这种方式称为异常的处理

四 java中的异常处理

1 Try:尝试运行有可能会发生异常的代码片段
语法:try{
有可能会发生异常的代码片段

备注:Try不能单独使用,其后至少要跟一个catch或finally
2 Catch:捕捉并处理异常对象
语法:
try{
}catch(异常的类型 e){
异常处理代码;
}【catch(。。){。。}】
备注:
一个Try其后可以跟多个catch语句块
如果有多个catch,要注意子类型异常在前,父类型异常在后
3 finally:异常处理完毕后一定要处理的操作
语法:
try{
}finally{

try{
}catch(){
}finally{

备注:如果try中有finally,那么也是先执行完finally再return

五 程序中的常见的异常

1 java.lang.ArithmeticException:算数异常,当除数为0是会产生的异常
2 java.util.InputMismatchException:输入数据类型不匹配的异常,当使用java控制台输入且与输入方法规定的类型不一致
3 java.long.ClassNotFoundException:加载的类不存在异常,产生该异常的原因是要加载的类对应的字节码文件不存在(检查异常)
4 java.lang.StringIndexOutOfBoundsException:超出要获取的索引位
5 java.lang.ArrayIndexOutOfBoundsException:数组下标越界
6 java.long.NumberFormatException:字符串中出现不能转换成数字的字符
7 java.long.NullPointerException:空指针异常
8 java.io.FileNotFoundException:文件未找到异常

六 try。。。catch。。。finally的执行流程

	1
try2
	3(异常)
	4catch(。。){
	5finally67

情况一:程序没有异常产生123467
情况二:程序异常产生且有对应的catch匹配123567
情况三:程序异常产生没有对应的catch匹配1236程序中断

七 异常的抛出(传递)

1 什么是异常的抛出(传递)

在方法的内部产生的异常交给方法的调用者进行处理,我们把这个过程称为异常的抛出

2 如何进行方法的抛出(传递)

2-1 java中使用两个关键字完成异常的抛出
throw:抛出方法内部产生的异常对象
语法:throw 异常对象名;
throw new 异常类名();
throws:在定义方法的时候,我们规定的当前方法执行时有可能抛出的异常类型
语法:throws 异常类型名称1,异常类型名称n
2-2 异常抛出的完整语法

 修饰符  返回值类型 方法名(【参数列表】) throws 异常类型 {
	...
修饰符  返回值类型 方法名(【参数列表】) {
	...
	throw 异常对象名;

八 自定义异常

1 什么是自定义异常

有开发人员在程序中创建的异常类型,我们把这种类型就称为

2 如何自定义异常

public class XXXException extends Exception||RunttimeException||检查异常{

3 自定义异常的作用
  • 扩充java的异常类型
  • 统一程序中的异常类型

九 Exception的常用方法

1 getMessage():获取异常的描述信息字符串
2 printStackTrace():在控制台输出异常发生时的堆栈信息

你可能感兴趣的:(Java基础)