异常
2023-04-18 19:50:38 举报
AI智能生成
登录查看完整内容
相似推荐
查看更多
技能异常状态流程
10断点异常
回收异常登记
异常退款流程
异常控制流
远程异常处理
异常发现服务(heimdall)架构图
异常场景分析
JAVA异常体系架构
异常状态流程总结
异常的基本使用以及基本知识点
作者其他创作
大纲/内容
写一个类继承自RuntimeException
编写有参和无参构造
1、自定义运行时异常
写一个类继承自Exception
编写有参和无参构造方法
2、自定义编译期异常
1、一般在系统的异常无法满足自己公司需求的时候,会自定义异常
2、自定义异常一般和throw抛出一起配合使用
3、应用场景
四、自定义异常
子类重写父类的方法,不能抛出比父类更大、更多的编译期异常
继承中方法的重写
五、方法重写
1、程序在运行时出现的错误,称之为异常
2、如果异常不处理,那么就会终止java虚拟机的运行。意味着出现异常后面的代码就不会再执行了
一、异常的概念
内存溢出、硬件等等(程序员无法通过程序解决)
Error(错误)
程序运行期间出现的异常:RuntimeException
举例:空指针异常、类转换异常、数组下标越界异常、输入异常、下标越界异常等
运行期异常(未检查)
程序在编译期间出现的异常
举例:ParseException InterruptedException等
编译期异常(受检)
Exception(异常)
Throwable(异常的父类)
二、异常的分类
如果正确的处理了异常,那么不会终止JVM的运行
语法:try{可能会出现异常的代码}catch(要捕获的异常类型1 变量名){ 如果出现对应异常所执行的代码}catch{...}...
1、catch中捕获的异常类型必须与出现异常的类型一致(大于等于),否则相当于没有处理异常
2、catch中的异常类型可以捕获多个,注意:捕获异常的顺序是从小到大
3、捕获异常的时候,可以捕获最大的异常Exception
catch需要注意的点
1、无论代码是否出现异常,都会执行finally中的代码
2、一般在finally写,释放资源的代码
3、如果方法中出现return关键字,finally依旧会执行,(但如果调用System.exit(0);那么finally不会再执行
try{...}catch(){...}一起使用
try{...}catch(){...}catch(){...}一起使用
try{...}finally{...}一起使用
try{...}catch(){...}catch(){...}finally{...}一起使用
finally不能单独使用
4、try、catch、finally使用语法:
1、没有异常,正常执行完整个程序
2、有异常,就会执行对应catch语句块。而try后面的代码就不会再执行
先执行try中的代码
5、捕获异常 代码执行的顺序
finally的特点:
1、捕获(主动处理):try、catch、finally
1、如果在方法上声明异常,那么方法的调用者就要进行处理
2、如果异常声明在了main方法上,实际上就是给JVM处理(那就是没有处理)
3、声明异常可以声明多个
特点:
1、当前无法对异常进行处理的时候,就可以把异常抛给方法的调用者
2、现在如果代码出现异常(直接try、catch)
场景:
如果在main方法上声明(抛出)异常,那么这个异常就交给了main方法的调用者,而main方法的调用者是JVM,所以这个异常并没有处理
特殊案例:
1、在方法上声明 throws
语法:throw 异常对象;
1、如果抛出运行期异常,那么直接抛出即可
2、如果抛出编译期异常,那么需要在方法上声明抛出
一般写框架的时候设计
2、在方法内部抛出 throw
2、抛出(被动处理):
1、运行期异常,可以利用逻辑判断解决(避免)
2、编译器异常,必须要解决 现在如果代码出现异常(直接try、catch)
3、总结:
三、异常的解决(异常处理机制)
异常
0 条评论
回复 删除
下一页