zoukankan      html  css  js  c++  java
  • 00086_自定义异常

    1、自定义异常类的定义

      (1)通过阅读异常源代码:发现java中所有的异常类,都是继承Throwable,或者继承Throwable的子类。这样该异常才可以被throw抛出;

      (2)说明这个异常体系具备一个特有的特性:可抛性:即可以被throw关键字操作;

      (3)查阅异常子类源码,发现每个异常中都调用了父类的构造方法,把异常描述信息传递给了父类,让父类帮我们进行异常信息的封装。例如NullPointerException异常类源代码:

    1 public class NullPointerException extends RuntimeException {
    2     public NullPointerException() {
    3         super();//调用父类构造方法
    4     }
    5     public NullPointerException(String s) {
    6         super(s);//调用父类具有异常信息的构造方法
    7     }
    8 }

      (4)自定义异常格式:

    1 Class 异常名 extends Exception{ //或继承RuntimeException
    2     public 异常名(){
    3 }
    4   public 异常名(String s){ 
    5     super(s); 
    6   }
    7 }

      (5)自定义异常继承Exception演示

     1 class MyException extends Exception{
     2     /*
     3     为什么要定义构造函数,因为看到Java中的异常描述类中有提供对异常对象的初始化方法。
     4     */
     5     public MyException(){
     6         super();
     7     }
     8     public MyException(String message)    {
     9         super(message);// 如果自定义异常需要异常信息,可以通过调用父类的带有字符串参数的构造函数即可。
    10     }
    11 }

      (6)自定义异常继承RuntimeException演示

     1 class MyException extends RuntimeException{
     2     /*
     3     为什么要定义构造函数,因为看到Java中的异常描述类中有提供对异常对象的初始化方法。
     4     */
     5     MyException(){
     6         super();
     7     }
     8     MyException(String message)    {
     9         super(message);// 如果自定义异常需要异常信息,可以通过调用父类的带有字符串参数的构造函数即可。
    10     }
    11 }
  • 相关阅读:
    使用javaDate类代数据仓库维度表
    Hermes和开源Solr、ElasticSearch 不同
    MapReduce 异常 LongWritable cannot be cast to Text
    吐槽CSDN编辑
    Codeforces 452A Eevee
    看不清楚未来,请做好如今
    JDBC数据库连接
    mixpanel实验教程(2)
    使用jquery+一般处理程序异步载入信息
    Eclipse中的Maven项目报Unbound classpath variable错误
  • 原文地址:https://www.cnblogs.com/gzdlh/p/8095074.html
Copyright © 2011-2022 走看看