在实际开发中,开发人员往往需要定义一些异常类用于描述自身程序中的异常信息,以区分其他程序的异常信息。就需要自定义异常类。
实现自定义异常类的方法如下:
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 异常处理与自定义异常 Java 异常处理是 Java 编程语言中一个非常重要的概念,它能够帮助开发者捕获和处理程序中出现的错误,以确保程序的稳定运行和安全。Java 平台为我们提供了丰富和完整的异常类,通过这些...
【Java异常处理-自定义异常类及课后练习】 在Java编程中,异常处理是程序健壮性的重要组成部分。Java提供了丰富的预定义异常类,但有时这些预定义的异常类并不能满足特定业务需求,这时就需要自定义异常类。自定义...
### Java自定义异常类详解 #### 一、Java异常体系概览 在Java语言中,异常处理机制是一种用于处理程序运行时错误的重要机制。Java中的异常处理基于`java.lang.Throwable`类,它有两个重要的子类:`Exception`和`...
Dubbo 提供了强大的异常处理机制,使得服务提供者能够向消费者传递自定义异常,从而帮助消费者更好地理解和处理服务调用中的错误情况。本文将深入探讨如何在 Dubbo 中捕获自定义异常,以及相关的最佳实践。 1. **...
Java自定义异常处理详细介绍,包括了很多比较经典的案例,可以自己研究自定义异常
Java 提供了一套完整的异常处理机制,其中包括标准异常类以及允许开发人员自定义异常的能力。本文将详细介绍如何在 Java 中创建自定义异常类,并通过一个示例来展示如何使用这些自定义异常。 #### 创建自定义异常类...
为了自定义异常处理逻辑,我们可以创建一个实现`ResponseErrorHandler`接口的类。这样,当`RestTemplate`遇到错误响应时,会调用我们自定义的异常处理方法,而不是直接抛出默认异常。 例如,我们可以创建一个名为`...
### JAVA自定义异常类 #### 一、基本概念与应用场景 在Java编程中,异常处理是一种重要的机制,用于处理程序运行时可能出现的各种错误情况。Java提供了丰富的内置异常类,但有时候,内置的异常类可能不足以精确地...
自定义异常是Java异常处理的一部分,允许我们创建符合特定业务需求的异常类。下面我们将深入探讨Java自定义异常及其应用。 首先,自定义异常通常是通过扩展Java内置的`Exception`类或其子类来实现的。`Exception`类...
在Java编程语言中,异常处理是一项关键特性,用于处理程序运行时可能出现的错误或不正常情况。...通过理解异常的继承体系,编写自定义异常类,以及正确地抛出和处理异常,我们可以构建更加健壮和易用的Java应用程序。
第7章 java异常处理
自己编写异常类型 ,自定义错误异常进行全局捕捉。实现项目全局的拦截定义输出。。。
java 自定义异常--编译异常和运行...虽说Java类库已经提供很多可以直接处理异常的类,但是有时候为了更加地捕获和处理异常以呈现更好的用户体验,需要开发者自定义异常。本文是探讨如何自定义异常以及使用自定义的异常
自定义异常是Java提供的一种机制,允许开发者创建特定于应用程序的异常类,以更精确地控制错误处理流程。本实例将深入探讨如何在Java中自定义异常。 首先,自定义异常通常继承自Java内置的`Exception`类或其子类,...
Java提供了丰富的异常处理机制,包括预定义的异常类和自定义异常。以下将详细介绍如何在实际项目中自定义异常,以及为何通常会将业务逻辑抽象成一个常量类。 首先,我们了解Java中的异常。在Java中,异常是通过`...
23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java自定义异常.zip23.java...
* 自定义异常类策略:使用自定义的异常类来描述和处理异常。 * 异常处理机制策略:使用 Java 异常处理机制来处理异常。 五、结论 合理完备的 Java 异常处理可以增强程序运行的可靠性、提高软件的健壮性,可以较为...
5. **自定义异常**:当需要表示特定业务逻辑错误时,可以创建自定义异常类。这有助于提高代码的可读性和可维护性。 6. **异常的层次结构**:设计异常时,尽量让异常类位于适当的层次结构中,以便捕获和处理。例如,...