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

     

  • 相关阅读:
    领域驱动设计学习笔记(一 事件总线)
    枚举位预算 (适用于权限和拥有多种枚举值)
    Javascript闭包(狗血剧情,通俗易懂)
    Xml序列化和反序列化
    Javascript轮播 支持平滑和渐隐两种效果(可以只有两张图)
    Git使用教程
    MySQL数据库基本用法-聚合-分组
    MySQL数据库基本用法-查询
    MySQL数据库基本用法
    JS中获取文件点之后的后缀字符
  • 原文地址:https://www.cnblogs.com/guotaizong/p/4910031.html
Copyright © 2011-2022 走看看