zoukankan      html  css  js  c++  java
  • JAVA中的异常及处理异常的方法

    异常

    这是我老师的喜好:就是说一上来就拿一张图给大家看看,过过瘾-_-

    这是一张:

    异常分类图

     

    来,这里还有一张带中文的常见异常截图!!!

    1:先来说说什么是异常吧:

    其实就是"阻止当前方法或作用域继续执行的问题"称作异常.

    异常又分为两种:①编译时异常   ②运行时异常.

    就先说"编译时异常"吧!!!!

    也就是在代码还未运行,编译的代码就爆出语法或其他的异常就称之为编译时异常;

    再说"运行时异常"!!!

    和编译时异常刚刚相反,也就是在代码已经运行,程序运行不了,从而爆出的异常;

    2:Try-catch-finally之中的相关问题!!(摘抄)

    情况1:

    try{} catch(){}finally{} return;
    显然程序按顺序执行。
    情况2:

    try{ return; }catch(){} finally{} return;
    程序执行try块中return之前(包括return语句中的表达式运算)代码;
    再执行finally块,最后执行try中return;
    finally块之后的语句return,因为程序在try中已经return所以不再执行。
    情况3:

    try{ } catch(){return;} finally{} return;
    程序先执行try,如果遇到异常执行catch块,
    有异常:则执行catch中return之前(包括return语句中的表达式运算)代码,再执行finally语句中全部代码,
    最后执行catch块中return. finally之后也就是4处的代码不再执行。
    无异常:执行完try再finally再return.
    情况4:

    try{ return; }catch(){} finally{return;}
    程序执行try块中return之前(包括return语句中的表达式运算)代码;
    再执行finally块,因为finally块中有return所以提前退出。
    情况5:

    try{} catch(){return;}finally{return;}
    程序执行catch块中return之前(包括return语句中的表达式运算)代码;
    再执行finally块,因为finally块中有return所以提前退出。
    情况6:

    try{ return;}catch(){return;} finally{return;}
    程序执行try块中return之前(包括return语句中的表达式运算)代码;
    有异常:执行catch块中return之前(包括return语句中的表达式运算)代码;
    则再执行finally块,因为finally块中有return所以提前退出。
    无异常:则再执行finally块,因为finally块中有return所以提前退出。

    (不管有木有出现异常,finally块中代码都会执行,但是,,,,大家看到这个但是了吗!

    好接着说,但是当catach块中调用了System.exit(1),那么finally块将不再执行;

     

    finally块中最好不要有return,否则程序会提前退出)

     

  • 相关阅读:
    :Netty中的Idle事件
    :Netty中的Idle事件
    大数据分析在石化企业的应用探讨
    全关联优化
    Java中的instanceof关键字
    Java中的instanceof关键字
    第七章 正则模式
    Rac sequence
    监控ping
    第六章 HASH
  • 原文地址:https://www.cnblogs.com/guotaizong/p/4910031.html
Copyright © 2011-2022 走看看