有关Java中try-catch的使用

以下皆来自转载总结,用作个人总结学习

什么时候需要用到try-catch?
代码执行预料不到的情况,或出错的可能性很大时,使用try-catch语句。

1、构造一个文件输入流,(上传文件时,线上环境的内存情况不确定)出错的可能性很大。

2、文件上传写入,数据库事务的提交,还有摄像头和打印机的使用

使用数据库事务的时候使用try-catch,如果事务执行成功就提交事务,如果事务执行失败就由catch提示错误并回滚事务。还有就是在使用curl方式访问其他网络地址的时候会用到,如果网络访问出错或者网络访问超时就在catch中抛出错误。还有就是之前写winfrom软件的时候调用摄像头和打印机,会使用try-catch。

3、程序调用其他人写的程序接口的时候,不敢保证别人的接口返回的都是约定好的返回值。

所以如果接口返回约定好的返回值,那么try中的程序正常执行,如果意料之外catch抛出错误。

可以通过下面这一段代码来加深一下理解:

public class TryCatchStu {
 /*try catch:自己处理异常
  *try{
  * 可能出现异常的代码
  *}catch(异常类名A e){
  * 如果出现了异常类A类型的异常,那么执行该代码
  *}...(catch可以有多个)
  *finally{
  * 最终肯定必须要执行的代码(例如释放资源的代码)
  *}

*代码执行的顺序:
*1.try内的代码从出现异常的那一行开始,中断执行
*2.执行对应的catch块内的代码
*3.继续执行try catch 结构之后的代码

*注意点:
*1.如果catch内的异常类存在子父类的关系,那么子类应该在前,父类在后
*2.如果finally中有return语句,那么最后返回的结果肯定以finally中的返回值为准
*3.如果finally语句中有return,那么没有被处理的异常将会被吞掉

*重写的注意点:
*1.儿子不能比父亲的本事大
*2.儿子要比父亲开放
*3.儿子不能比父亲惹更大的麻烦(子类的异常的类型不能是父类的异常的父类型)

*异常类Api:
*1.getMessage():获取异常描述信息字符串
*2.toString():返回异常类的包路径和类名和异常描述信息字符串
*3.printStackTrace():除了打印toString的信息外,还要打印堆栈信息
*/
原文链接:https://blog.csdn.net/wanghuiwei888/article/details/78818203

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章