zoukankan      html  css  js  c++  java
  • [软件构造]异常的捕获与自定义

    JAVA中异常的分类

    异常的根接口Throwable,其下有2个子接口,Error和Exception。

    Error:指的是JVM错误,这时的程序并没有执行,无法处理。与代码无关,程序员通常无能为力,一旦发生,想办法让程序优雅的结束。也可以通过对外部环境的配置解决问题,如用户输入错误、设备错误、物理限制等。

    Exception:指的是程序运行中产生的异常,可以使用处理格式处理。

    JAVA中异常的关键字

    Java异常机制用到的关键字:try、catch、finally、throw、throws。

    try -- 用于监听。将要被监听的代码,即可能抛出异常的代码,放在try语句块之内。当try语句块内发生异常时,异常就被抛出。

    catch -- 用于捕获异常。catch用来捕获try语句块中发生的异常。

    finally -- 无论是否捕捉到异常,无论try和catch中有无return语句,finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(比如在try中打开文件进行读取,则要在finally中关闭文件)。

    throw -- 用于抛出异常。

    throws -- 用在方法声明中,用于声明该方法可能抛出的异常。

    异常的处理方案

        try{
            /*可能会发生的异常的语句*/
        }
        catch(异常类型 异常名(变量)){
            /*针对异常进行处理的代码*/
        }
        catch(异常类型 异常名(变量)){
            /*针对异常进行处理的代码*/
        }/*如果有多个异常,则添加多个catch语句进行捕获*/
        finally{
           /*释放资源代码*/
        }
    

    一些注意点:
    1.finally语句可以省略不写
    2.try, catch, finally块之间不能添加任何代码。
    3.异常如果是同级关系,catch谁前谁后没有关系;如果异常之间存在上下级关系,上级需要放在后面

    自定义异常

    public class XxxException extends Exception {
        /*无参构造函数*/
        public XxxException(){
            super();
        }
        
        /*用详细信息指定一个异常,Throwable类中的getMessage()方法就是用来返回异常的详细信息的*/
        public XxxException(String message){
            super(message);
        }
    
        /*用指定原因构造一个新的异常,Throwable类中的getCause()方法就是用来返回异常的原因的*/
        public XxxException(Throwable cause) {
            super(cause);
        }
    
        /*用指定的详细信息和原因构造一个新的异常*/
        public XxxException(String message, Throwable cause){
            super(message,cause);
        }  
    }
    
  • 相关阅读:
    jquery组件WebUploader文件上传用法详解
    asp.net Forms身份验证详解
    FormsAuthentication使用指南
    对于新手用c#中的delegate(委托)和event(事件)
    Union All/Union/Intersect操作
    DALFactory出现"未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案 .
    C#多线程编程实例 线程与窗体交互
    FormsAuthentication使用指南
    asp.net Forms身份验证详解
    chrome浏览器调试JS代码
  • 原文地址:https://www.cnblogs.com/lsykk/p/14989555.html
Copyright © 2011-2022 走看看