Java异常处理

来源:互联网 发布:淘宝信用贷款 编辑:程序博客网 时间:2024/05/21 16:57

      Java的异常机制主要依赖try-catch-finallythrowsthrow五个关键字。throws 要在方法签名中使用,声明方法可能抛出的异常;throw抛出一个实际异常。

      Java将异常分为两种,checked异常(编译阶段)和runtime异常(运行阶段)。

异常继承关系


       error错误,一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可捕捉,将导致应用中断,不应使用catch来捕获error对象。

      异常捕获时,要先捕获小异常,再捕获大异常,父类应排在子类异常后面。

      使用一个catch块捕获多种类型的异常时要注意:

①多种异常类型之间用竖线(|)隔开;

②异常变量有隐式final修饰,不能对其重新赋值。

访问异常信息

      所有异常对象都包含的常用方法:

getMessage():返回异常的详细描述字符串。

printStackTrace():将跟踪栈信息输出到标准错误输出。

printStackTrace(PrintStream s):将跟踪栈信息输出到指定输出流。

getStackTrace():返回异常的跟踪栈信息。

 

      Java程序执行try-catch块时遇到returnthrow语句会立即结束方法,但系统不会结束该方法,而是去找finally,如果没有finally,程序执行returnthrow,方法结束;如果有finally,系统执行finally,之后调回try-catch块的returnthrow,结束方法。如果finally中存在returnthrow将导致方法结束,不会跳回try-catch

catchthrow同时使用

      一个异常出现,单靠某个方法无法完全处理异常,需要几个方法同时协作处理异常。异常出现的当前方法中,程序只做部分处理,还需要再调用者中进行余下处理,所以应该再次抛出异常,使该方法的调用者也能捕获到异常。这时就需要catchthrow配合使用。

异常链

      捕获一个异常,然后抛出另一个异常,冰雹原始异常信息保存下来是一种经典的链式处理,也称“异常链”。

异常处理目标

①使程序代码混乱最小化;

②捕获并保留诊断信息;

③通知合适的人员;

④采用合适的方式结束异常活动。

 

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 液化气跑气了怎么办 高层没有液化气管道怎么办 住在高层着火了怎么办 重庆产权50年后怎么办 小区在监狱附近怎么办 遇到开发商捂盘怎么办 卖完房子后悔了怎么办 没有钱买房子怎么办 没有钱想买房怎么办 房子卖亏了后悔怎么办 物业停业主水电怎么办 死者家属一直闹怎么办 车祸找不到死者家属怎么办 房子违章被投诉怎么办 桐乡世贸二期怎么办 失业金汇到保险金账户怎么办 氧气罐阀门漏气怎么办 小微餐饮证怎么办 打网球手腕疼怎么办 晚上睡觉饿了怎么办 孕妇凌晨饿了怎么办 减肥想吃泡面怎么办 自考的实践考核怎么办 c1本怎么办从业资格证 办理资格证假的怎么办 高一学习差怎么办 职业资格证书理论考试不合格怎么办 职称证查不到怎么办 社保与工资不符怎么办 社保审计不过关怎么办 企安宝登录不上怎么办 苹果维修没发票怎么办 园林绿化资质取消后怎么办 出租车从业资格证到期怎么办 养老金认证身份证不符怎么办 硬盘指示灯不亮怎么办 做业务产品质量很差怎么办 没有户籍证明了怎么办 回执编号忘了怎么办 泳镜里面花了怎么办 网页打印预览空白怎么办