关于 异常 的一些总结(自定义异常确实有用啊)
2017-08-25 20:30
519 查看
关于异常
编译错误,逻辑错误不算异常;其实是一些因为不可控的因素,不期而至的各种情况,导致程序运行的异常
用对象表示
异常的体系结构:
(1)Throwable类,所有错误或例外的超类
分为Error、Exception
Error是错误,不应该试图捕获,而是应该尽量避免,并非是几句代码就能解决的错误
Exception是例外,
分为受检异常:编译期要求必须处理的,否则,编译不通过
非受检异常,编译期间不强制要求处理,但在运行期间可能发生异常RuntimeException
受检异常包括:IOException SQLException FileNotFoundException
非受检异常有:NullPointerException ArithmeticException ArrayIndexOutOfBoundsException
一般都是编码的原因,应尽量去避免
Java的异常处理机制
抛 JVM自动抛出,也可以手动抛出
抓 catch
try catch异常 可以有多个
finally 不管是否发生异常都要执行的代码,一般用于释放资源连接
catch里应该如何处理呢
e.printStackTrace() 打印出来,堆栈信息,全面的,红色显示
e.getStackTrace()
e.getMessage()
也可以作为日志记录
throws 异常列表
实际开发中,一般底层选择throws,而上边的代码进行try catch
重写父类的方法时:异常的类型<=父类
手动抛出异常 throw
throw 异常对象
可以替代return结束某一个语句
如果throw是运行时异常,那么编译期不会要求当前方法或编译者必须编写处理代码
自定义异常
必须继承Throwable或者他的其他子类
一般是继承Exception或RuntimeException
自定义的异常只能通过throw手动抛出,JVM不会自动抛出
要注意finally和return执行的顺序
在return之前先执行finally的代码
finally中不建议写return
关于Integer
在-128~127之间使用最多,所以有个类似缓存的东西存在,这样就不用每次开辟新的Integer对象了;
如果是其他的值的话,需要每次新的对象
编译错误,逻辑错误不算异常;其实是一些因为不可控的因素,不期而至的各种情况,导致程序运行的异常
用对象表示
异常的体系结构:
(1)Throwable类,所有错误或例外的超类
分为Error、Exception
Error是错误,不应该试图捕获,而是应该尽量避免,并非是几句代码就能解决的错误
Exception是例外,
分为受检异常:编译期要求必须处理的,否则,编译不通过
非受检异常,编译期间不强制要求处理,但在运行期间可能发生异常RuntimeException
受检异常包括:IOException SQLException FileNotFoundException
非受检异常有:NullPointerException ArithmeticException ArrayIndexOutOfBoundsException
一般都是编码的原因,应尽量去避免
Java的异常处理机制
抛 JVM自动抛出,也可以手动抛出
抓 catch
try catch异常 可以有多个
finally 不管是否发生异常都要执行的代码,一般用于释放资源连接
catch里应该如何处理呢
e.printStackTrace() 打印出来,堆栈信息,全面的,红色显示
e.getStackTrace()
e.getMessage()
也可以作为日志记录
throws 异常列表
实际开发中,一般底层选择throws,而上边的代码进行try catch
重写父类的方法时:异常的类型<=父类
手动抛出异常 throw
throw 异常对象
可以替代return结束某一个语句
如果throw是运行时异常,那么编译期不会要求当前方法或编译者必须编写处理代码
自定义异常
必须继承Throwable或者他的其他子类
一般是继承Exception或RuntimeException
自定义的异常只能通过throw手动抛出,JVM不会自动抛出
要注意finally和return执行的顺序
在return之前先执行finally的代码
finally中不建议写return
关于Integer
在-128~127之间使用最多,所以有个类似缓存的东西存在,这样就不用每次开辟新的Integer对象了;
如果是其他的值的话,需要每次新的对象
相关文章推荐
- 关于自定义View的一些总结
- 关于项目中异常处理的一些总结
- 关于IOS开发的一些有用的代码片段(别人总结和自己的)
- 关于项目中异常处理的一些总结
- 黑马程序员--关于异常的一些笔记总结
- 关于项目中异常处理的一些总结(转)
- Binder框架的一些简单总结(关于自定义服务中的Binder)
- 关于异常的一些问题总结
- 关于项目中异常处理的一些总结
- 关于java中自定义异常的小总结
- 关于DataTable用法的一些总结(有用)
- 关于网络编程中MTU、TCP、UDP优化配置的一些总结
- 关于iOS学习进阶的必读一些博客总结
- 关于GC的一些总结
- 关于C++中的虚拟继承的一些总结
- 关于ip route 线路负载均衡的一些总结
- 关于一些基础概念的复习和总结
- 关于RDLC报表的一些总结,希望对正在学习使用它的朋友有所帮助
- android一些有用的方法,代码,和错误处理总结(持续更新)
- 关于一些mybatis异常的原因:org.apache.ibatis.binding.BindingException: Parameter 'status' not found.