zoukankan      html  css  js  c++  java
  • 2019-12-2 异常捕获

    捕获异常和正常java跳出的异常不同,人为捕获异常,后面的程序依然会继续执行

    语法:生成快捷键alt+shift+z

            try {
              捕获范围
            } catch (Exception e) {
           异常处理... e.printStackTrace(); }
    finally { 无论如何都会执行的代码块 }

    try...catch...finall的运行顺序

    当try块中没有异常的时候,try块运行完之后跳过catch块不执行,直接运行后面的语句。

    当try块中有异常的时候,try块运行到异常的语句,直接跳到对应的catch块中,执行后如果有finally最后在执行finally。

    finally是最后始终要执行的语句块,即使有return

    如果在try块中有多个不同类型的异常需要捕获

    解决方案2种:

    1.直接捕获异常父类Exception就可以了

    2.多个异常依次捕获,多个catch块

    2.1 多个异常依次捕获,需要注意异常的顺序问题,父类异常应该在最后处理

    2.2 多个异常捕获,只会进入其中的一个异常

    3.try catch都是单独的语句块

    一般情况下使用第二种解决方案。

            try {
                
            }
            finally {
                
            }

    try...finally只会出现在运行时异常时候的写法
    强调finally里面的语句必须要运行


    编译时异常,会在编译期间就提示错误,强制我们必须要try catch的异常。

    除了RuntimeException之外,其他直接继承Exception的子类都是编译时异常

    问题
  • 相关阅读:
    如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入
    ref和out的区别?
    debug版本和release版本的区别?
    Ninject依赖注入——构造函数的注入
    WCF入门简单教程(图文) VS2010版
    WCF学习笔记(一)
    WinRt BottomAppBar
    windows 8.1 MessageDialog
    sqlServer学习2-sql脚本说明
    sqlServer学习1-sql脚本
  • 原文地址:https://www.cnblogs.com/liqking/p/11973815.html
Copyright © 2011-2022 走看看