java中异常父类_Java中的异常

异常的概念:

异常(exception也称例外)就是在程序运行过程中所发生的不正常的事情,

他会终止程序的运行。

1.所需的文件找不着

2.网络连接不通或者中断

3.算数运算符的错误参数

4.数组下标越界

5.装载一个不存在的类或者null对象操作

6.类型转换异常...

当java程序出现以上异常的时候就会在所处方法中产生一个异常的对象

这个异常的对象包括异常的类型,异常出现时程序的运行状态以及该异常的详细我描述

在java程序中所有异常和error的父类是Throwable直接继承Object

error是程序本身无法恢复的严重错误

exception是程序中可以处理的异常

1.运行时异常(有可能产生也有可能不产生)

2.Check的异常(不处理编译无法通过,也叫编译时异常)

异常的处理方式之捕捉异常:

1.try -catch- finally的使用

1-try-catch组合

1--正常情况:try 及以后的代码,不执行catch

2--异常情况:出现类型和捕获类型相匹配

catch(exception e){//

e.printstackTrance();

}

再捕捉到异常的时候由java虚拟机创建对象,体现了多态,父类引用指向子类对象

Exception e = new ArithmeticException();然后继续执行以后程序,程序不会中断

3--异常不匹配情况:异常exception e不匹配,程序中断,后面程序就不在运行。

2-try-finally组合;

1--正常情况:程序正常运行,执行finally代码

2--异常情况:在执行完毕finally代码之后程序报错,程序中断

3--特殊情况不执行finally:system.exit(0);

3-try-catch-finally

1--正常情况:执行try-finally

2--异常情况:类型相匹配执行try-catch-finally 按顺序执行

3--异常情况:类型不相匹配,执行try-finally

如果catch中存在return语句则先执行完finally语句后再执行return语句(结束方法)

异常的处理方式之声明异常:(throws)

方法名的后面,用于声明该方法可能会产生一个异常,如果方法声明的

是一个Exception异常或者是checkedException异常,要求方法的调用出必须做处理

1.继续使用throws向上声明(方法的调用处)

2.使用try-catch-finally进行处理

如果方法声明但是runtimeException的异常,那么方法的调用可不处理

继承关系中的声明异常:

1.父类的方法声明了Exception类型的异常,子类再重写方法的时候,可以声明

也可以不声明,但是如果子类重写之后的方法使用super关键字调用父类的方法,

那么必须要求对异常进行处理。

2.如果父类方法没有异常,那么子类的方法如果一定要有Exception异常或者是checkedException异常

那么子类必须自己进行try-catch-finally解决或者给父类声明异常。

3.如果子类在重写父类方法是产生的是runtimeException那么也可以不用处理

throw抛出异常对象写在方法里

在捕获一个异常之前必须有一段代码先生成异常对象并把它抛出,这个过程我们

可以手工做也可以由JRE来实现,他们调用的都是Throw子句

throws与throw的区别

1.throws用于声明方法可能会产生的类型异常,throw手动抛出一个异常对象!!

2.位置不相同,throws写在方法名后面,throw用于写在方法里。

常见的异常和解决方法(加入判断)

1.运行时异常runtimeException

1-算术异常:ArithmeticException(除数不为0)

2-空指针异常:NullPointerException(没有创建对象就调用了对象的属性或方法String str=nul;)

3-类型转换异常;ClassCastException(向下类型转换Animal dog = new Dog Cat cat = (cat)dog

用instanceof判断是否属于一个类型返回boolean)

4-数组下标越界异常:ArraysIndexOutOfBoundsException(判断是否

否则输出数组下标超出边界)

5-期望的数据类型和实际输入的类型不匹配:InputMismatchException!!!(判断输入的是否是整数

的时候用input.hasNextInt(),判断你输入的时候是否是整数)

2.检查时异常CheckedException(必须做处理n多异常的总称)

1-SQLException(throws向上声明或者使用try-catch-finally)

2-IOException(throws向上声明或者使用try-catch-finally)

3-ParseException(throws向上声明或者使用try-catch-finally)

自定义异常:

为什么要定义自定义异常?

在程序中,可能会遇到任何标准异常类都无法描述清楚的问题,这种情况下创建自己的

异常类

自定义异常的步骤:!!!

1.继承Exception或者RuntimeException

2.定义构造方法

3.使用异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值