异常

异常:

(也是一个Java对象,继承自Object)
概念:异常是阻止当前方法或作用域继续执行的问题
异常的原因:
1、用户误操作
2、程序错误
3、物理错误
注:本质上来讲,java异常是一个对象,封装了一些成员变量和操作,可以向操作一般的java对象那样去操作java异常对象

常见异常:
1、 检查性异常(checked异常)红线
最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的,例如打开一个不存在的文件时,一个异常就发生了,这些异常在编译(编写)时不能被简单的忽略
2、 运行时异常(Runtime异常)
运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译(编写)代码时被忽略
3、 错误(Error)
必须中断代码的运行
错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,他们在编译时也检查不到的

Exception类 (父类)

Exception类和Error类都是Throwable类的子类
1、 Error: java程序通常不捕获错误,错误一般在严重故障时,它们在java程序处理的范畴之外
Error用来指示运行时环境发生的错误(无法解决的错误)
2、 IOException (输入输出异常)
RuntimeException(运行时异常):
(1)ArithmeticException : 算数错误
(2)ArrayIndexOutOfBouds : 数组下标越界
(3)NullPointerException : 空指针(指针指到不存在的数据)
(4)ClassNotfoundException : 不能加载所需类
(5)ClassCastException : 对象强制类型转换
(6)NumberFormat Exception:数字格式转换
(7)lllegalArgument Exception: 方法接收到非法参数

3、Try catch捕获异常
Try-catch :解决异常;特别消耗系统资源(不可在循环里写)

Try:代码块中代码成为保护代码;存放可能发生异常的语句;将语句中异常打包成对象传递该catch
Catch:捕获异常;如果发生的异常包含在catch块中,异常会被传递到该catch块,这和传递一个参数到方法是一样;
语句中传递的是父类异常,实际是子类对象(多态)

Catch块中输出:
e.getMessage: 输出错误性质(异常信息)
e.printStackTrace(): 指出异常类型、性质及异常位置
System.err.println(“”): 打印红字,子线程

finally:不管try里的代码报不报报错,finally代码都会执行
System.exit() :强制退出程序
(如果在try或catch语句中有return,都会先执行完finally,在执行return)

6、throws:用来指定方法可能会抛出的异常,多个异常用,隔开
通常写在方法后throws Exception :声明异常,将异常抛给上一级处理,有调用者来处理异常
throw:
通常用于方法体中,并抛出一个异常对象,通常用来抛出自定义异常
(注:执行到throw语句时,会立即中断程序)
Throw new RunTimeException :创建异常
Throw一般配合RunTimeException使用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏女人净画饼

原创辛苦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值