`
生死格斗
  • 浏览: 127660 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java异常处理之自定义异常类

阅读更多
在实际开发中,开发人员往往需要定义一些异常类用于描述自身程序中的异常信息,以区分其他程序的异常信息。就需要自定义异常类。
   
    实现自定义异常类的方法如下:
    1、类java.lang.Throwable是所有异常类的基类,它包括两个子类:Exception和Error,Exception类用于描述程序能够捕获的异常,如ClassNotFoundException。Error类用于指示合理的应用程序不应该试图捕获的严重问题,如虚拟机错误VirtualMachineError
    2、自定义异常类可以继承Throwable类或者Exception,而不要继承Error类。自定义异常类之间也可以有继承关系
    3、需要为自定义异常类设计构造方法,以方便构造自定义异常对象。
   
    实例演示
package book.exception;
/** *//**
 * 自定义异常类
 * 第一种定义方式,继承Exception类
 * @author joe
 *
 */

public class MyFirstException extends Exception ...{
    
    /** *//**
     * 序列化ID
     */
    private static final long serialVersionUID = 1L;

    public MyFirstException() ...{
        super();
    }
    
    public MyFirstException(String msg) ...{
        super(msg);
    }
    
    public MyFirstException(String msg, Throwable cause) ...{
        super(msg, cause);
    }
    
    public MyFirstException(Throwable cause) ...{
        super(cause);
    }

}

package book.exception;
/** *//**
 * 自定义异常类
 * 第二种定义方法,继承Throwable类
 * @author joe
 *
 */

public class MySecondException extends Throwable ...{

    /** *//**
     * 
     */
    private static final long serialVersionUID = 1L;

    public MySecondException() ...{
        super();
    }
    
    public MySecondException(String msg) ...{
        super(msg);
    }
    
    public MySecondException(String msg, Throwable cause) ...{
        super(msg, cause);
    }
    
    public MySecondException(Throwable cause) ...{
        super(cause);
    }
}

package book.exception;
/** *//**
 * 自定义异常类的使用
 * @author joe
 *
 */
public class TestMyException ...{

    public static void firstException() throws MyFirstException ...{
        throw new MyFirstException(""firstException()" method occurs an exception! ");
    }
    
    public static void secondException() throws MySecondException ...{
        throw new MySecondException(""secondException()" method occurs an exception! ");
    }
    
    public static void main(String[] args) ...{
        try...{
            TestMyException.firstException();
            TestMyException.secondException();
        } catch(MyFirstException e1) ...{
            System.out.println("Exception: " + e1.getMessage());
            e1.printStackTrace();
        } catch(MySecondException e2) ...{
            System.out.println("Exception: " + e2.getMessage());
            e2.printStackTrace();
        }
    }
}


输出结果:


Exception: "firstException()" method occurs an exception!
book.exception.MyFirstException: "firstException()" method occurs an exception!
    at book.exception.TestMyException.firstException(TestMyException.java:10)
    at book.exception.TestMyException.main(TestMyException.java:19)

源码分析:
    当一个try块后面跟着多个catch块时,如果发生的异常匹配第一个catch块的参数,便将异常处理权利交给第一个catch块,如果不匹配,便与第二个catch块进行匹配,依次下去,如果到最后依然无法匹配该异常,便说明该方法无法处理发生的异常,需要在方法声明中添加一条throws语句,将异常抛出。
    因此,在有多个catch块的情况下,如果每次处理的异常类型之间具有继承关系,应该首先捕获子类异常,再捕获父类异常,比如:MySecondException继承MyFirstException,那么最好将catch(MySecondException e2)放在前面。

转自CSDN
http://blog.csdn.net/zhouyong80/archive/2007/11/29/1907805.aspx
分享到:
评论

相关推荐

    Java SE程序 自定义异常类

    Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE...

    Java异常处理与自定义异常.pdf

    Java 异常处理与自定义异常 Java 异常处理是 Java 编程语言中一个非常重要的概念,它能够帮助开发者捕获和处理程序中出现的错误,以确保程序的稳定运行和安全。Java 平台为我们提供了丰富和完整的异常类,通过这些...

    Java异常处理-自定义异常类及课后练习

    【Java异常处理-自定义异常类及课后练习】 在Java编程中,异常处理是程序健壮性的重要组成部分。Java提供了丰富的预定义异常类,但有时这些预定义的异常类并不能满足特定业务需求,这时就需要自定义异常类。自定义...

    Java自定义异常类_1.txt

    ### Java自定义异常类详解 #### 一、Java异常体系概览 在Java语言中,异常处理机制是一种用于处理程序运行时错误的重要机制。Java中的异常处理基于`java.lang.Throwable`类,它有两个重要的子类:`Exception`和`...

    dubbo捕获自定义异常_dubbo异常捕获_dubbo异常_自定义异常_捕捉异常_

    Dubbo 提供了强大的异常处理机制,使得服务提供者能够向消费者传递自定义异常,从而帮助消费者更好地理解和处理服务调用中的错误情况。本文将深入探讨如何在 Dubbo 中捕获自定义异常,以及相关的最佳实践。 1. **...

    Java自定义异常处理

    Java自定义异常处理详细介绍,包括了很多比较经典的案例,可以自己研究自定义异常

    异常类:自定义异常类

    Java 提供了一套完整的异常处理机制,其中包括标准异常类以及允许开发人员自定义异常的能力。本文将详细介绍如何在 Java 中创建自定义异常类,并通过一个示例来展示如何使用这些自定义异常。 #### 创建自定义异常类...

    精讲RestTemplate自定义请求失败异常处理.docx

    为了自定义异常处理逻辑,我们可以创建一个实现`ResponseErrorHandler`接口的类。这样,当`RestTemplate`遇到错误响应时,会调用我们自定义的异常处理方法,而不是直接抛出默认异常。 例如,我们可以创建一个名为`...

    JAVA自定义异常类

    ### JAVA自定义异常类 #### 一、基本概念与应用场景 在Java编程中,异常处理是一种重要的机制,用于处理程序运行时可能出现的各种错误情况。Java提供了丰富的内置异常类,但有时候,内置的异常类可能不足以精确地...

    java 自定义异常实例二

    自定义异常是Java异常处理的一部分,允许我们创建符合特定业务需求的异常类。下面我们将深入探讨Java自定义异常及其应用。 首先,自定义异常通常是通过扩展Java内置的`Exception`类或其子类来实现的。`Exception`类...

    Java自定义异常源代码

    在Java编程语言中,异常处理是一项关键特性,用于处理程序运行时可能出现的错误或不正常情况。...通过理解异常的继承体系,编写自定义异常类,以及正确地抛出和处理异常,我们可以构建更加健壮和易用的Java应用程序。

    第7章 java异常处理

    第7章 java异常处理

    JAVA 自定义异常 全局捕获

    自己编写异常类型 ,自定义错误异常进行全局捕捉。实现项目全局的拦截定义输出。。。

    java 自定义异常-编译异常和运行异常

    java 自定义异常--编译异常和运行...虽说Java类库已经提供很多可以直接处理异常的类,但是有时候为了更加地捕获和处理异常以呈现更好的用户体验,需要开发者自定义异常。本文是探讨如何自定义异常以及使用自定义的异常

    java 自定义异常实例一

    自定义异常是Java提供的一种机制,允许开发者创建特定于应用程序的异常类,以更精确地控制错误处理流程。本实例将深入探讨如何在Java中自定义异常。 首先,自定义异常通常继承自Java内置的`Exception`类或其子类,...

    实际项目中java自定义异常

    Java提供了丰富的异常处理机制,包括预定义的异常类和自定义异常。以下将详细介绍如何在实际项目中自定义异常,以及为何通常会将业务逻辑抽象成一个常量类。 首先,我们了解Java中的异常。在Java中,异常是通过`...

    23.java自定义异常.zip

    23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java...

    Java异常处理策略研究.pdf

    * 自定义异常类策略:使用自定义的异常类来描述和处理异常。 * 异常处理机制策略:使用 Java 异常处理机制来处理异常。 五、结论 合理完备的 Java 异常处理可以增强程序运行的可靠性、提高软件的健壮性,可以较为...

    Java异常处理终结篇——如何进行Java异常处理设计 - 望远的个人页面 - 开源中国社区1

    5. **自定义异常**:当需要表示特定业务逻辑错误时,可以创建自定义异常类。这有助于提高代码的可读性和可维护性。 6. **异常的层次结构**:设计异常时,尽量让异常类位于适当的层次结构中,以便捕获和处理。例如,...

Global site tag (gtag.js) - Google Analytics