首页 > 其他 > 详细

2-18

时间:2016-02-18 20:04:01      阅读:171      评论:0      收藏:0      [点我收藏+]

异常:

Throwable:包含Error 和 Exception。

Error :比较严重的问题 ,系统性问题 (虚拟机出题,系统出现问题)

Exception:程序出现的一些问题,通常是由于程序人员考虑不周等情况 发生的问题

(程序出现的问题,这些问题本省可以避免)


异常分类:

1.运行时异常:不要求强制处理,只有在运行时可能发生异常

2.受检查异常(check):必须处理,不能会不会发生异常

(有些操作 jvm认为可能出现异常几率较大  所以要求强制处理 )


异常处理:

throws:主要针对受检查异常 ,写在方法上,表明该方法具有抛出异常的功能 ,能抛异常根据throws 后面跟的异常类型 

( public static void main(String[] args) throws FileNotFoundException )

运行时异常不需要 throws  标明具有抛异常的功能


抛出:

1.jdk抛出:FileInputStream fis=new FileInputStream("D:/11.txt"); 

 异常由jdk抛出来 逐级向上抛出  最后如果main也没处理 那么就抛给虚拟机,虚拟机接受异常  立即停止执行

2.人为抛出:throw 抛异常

throw new Exception("除数不能为0");


捕获:try {} catch (Exception e) {} catch (Exception e) {}  finally{}

catch捕获异常 针对 try中的代码块,catch在捕获的时候只能捕获参数指定的异常,如果异常被捕获,那么不在向下捕获,跳出捕获模块,执行try catch模块下面的语句

try中产生异常,try中后面代码不在运行      

finally:不能try中代码有木有异常 都会执行,除非强制退出JVM

一般 catch (Exception e) {} 放在catch模块的最后位置


一般不建议使用 try {try {} catch (Exception e) {} } catch (Exception e) {} ,try catch嵌套, 

建议大家采用try {} catch (Exception e) {} catch (Exception e) {} 

catch中不建议编写业务代逻辑码  try中代码要尽量少



//非常不建议,不够规范

// try {

// int n=i/j;

// }finally{

// System.out.println("--finally--");

// }



自定义异常:

1、能够更好的查找程序的错误

2、让异常信息更友好



***异常能够改变程序执行的流程

***提供程序出错的解决方式之一


2-18

原文:http://11159573.blog.51cto.com/11149573/1743012

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!