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);
        }  
    }
    
  • 相关阅读:
    例行性工作排程 (crontab)
    数组
    继续我们的学习。这次鸟哥讲的是LVM。。。磁盘管理 最后链接文章没有看
    htop资源管理器
    转:SSL协议详解
    转:SSL 握手协议详解
    转:Connection reset原因分析和解决方案
    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)
    转:logback的使用和logback.xml详解
    转:Java logger组件:slf4j, jcl, jul, log4j, logback, log4j2
  • 原文地址:https://www.cnblogs.com/lsykk/p/14989555.html
Copyright © 2011-2022 走看看