首页 > 其他分享 >4、异常

4、异常

时间:2022-08-14 22:45:46浏览次数:49  
标签:throw 构造方法 throws ----- 异常 public

一、异常的体系结构:

* java.lang.Throwable

 *          |-----java.lang.Error:一般不编写针对性的代码进行处理。

 *          |-----java.lang.Exception:可以进行异常的处理

 *                 |------编译时异常(checked)(即受检异常)

 *                               |-----IOException(读写异常)

 *                                      |-----FileNotFoundException(文件路径无法找到异常)

 *                               |-----ClassNotFoundException(类无法找到异常)

 *                 |------运行时异常(unchecked,RuntimeException)

 *                               |-----NullPointerException(空指针异常)

 *                               |-----ArrayIndexOutOfBoundsException(数组下标越界异常)

 *                               |-----ClassCastException(类转化异常)

 *                               |-----NumberFormatException(数字格式化异常)

 *                               |-----InputMismatchException(输入不匹配异常)

 *                               |-----ArithmeticException(算数异常)

 

二、自定义异常:

1、自定义异常要求:

(1)要继承 Exception 或 RuntimeException;

(2)要定义无参构造方法与带异常信息的构造方法;

//格式:
public class XXXException extends Exception 或者 RuntimeException{
    //添加一个空参数的构造方法
    //添加一个带异常信息的构造方法
}

2、定义异常:

(1)、编写异常类:

public class CustomException extends RuntimeException {
    // 空参构造方法
    public CustomException() {
    }
    //带异常信息的构造方法
    public CustomException(String message) {
        super(message);
    }
}

(2)、使用异常:

public class OperationDemo {
    public static void main(String[] args) {
        for (int j = 0 ; j <= 100 ; j++){
            if(j>= 50){
                throw new CustomException("手动抛出异常");
            }
        }
    }
}

 

三、异常处理的抓抛方式:

1、方式一、手动的生成一个异常对象,并抛出(throw);

2、方式二、用户将异常抛给方法的调用者,并没真正将异常处理掉(throws);

3、方式三、抓捕并处理异常(try-catch-finally)。

 

三、throw与throws的区别:

1、写法上 : throw 在方法体内使用,throws 函数名后或者参数列表后方法体前

2、意义 : throw 强调动作,而throws 表示一种倾向、可能但不一定实际发生

3、throws 后面跟的是异常类,可以一个,可以多个,多个用逗号隔开。throw 后跟的是异常对象,或者异常对象的引用。

4、throws 用户抛出异常,当在当前方法中抛出异常后,当前方法执行结束(throws 后,如果有finally语句的话,会执行到finally语句后再结束。)。可以理解成return一样。

即:

  throws:用于方法名之后,表示上抛异常(可以同时抛出多个异常)

  throw:用于方法体中,表示手动抛出单个异常

 

标签:throw,构造方法,throws,-----,异常,public
From: https://www.cnblogs.com/Iven-L/p/16586595.html

相关文章