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,否则程序会提前退出)

     

  • 相关阅读:
    网络处理1-异步GET请求
    <十二>读<<大话设计模式>>之状态模式
    oracle的shared、dedicated模式解析
    java 调用ant的自己定义task,默认不是build.xml 的一点问题
    【Android开发-8】生命周期,Activity中打开另外一个Activity
    Robot Framework自己主动化測试框架之我见
    三张图教你生成一个Android jar 库。
    Array types are now written with the brackets around the element type问题的解决方法
    HDU 4085 Peach Blossom Spring 斯坦纳树 状态压缩DP+SPFA
    Java 线程池ThreadPoolExecutor简单应用
  • 原文地址:https://www.cnblogs.com/guotaizong/p/4910031.html
Copyright © 2011-2022 走看看