Java 自定义异常

来源:互联网 发布:去除单元格内重复数据 编辑:程序博客网 时间:2024/05/16 02:15

自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。

一、创建自定义异常类

  1. 创建一个自定义异常类继承于 Throwable 或其子类;
  2. 添加构造方法
package com.example.study.exception;/** * 自定义异常: 自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。 *  * @author 李关钦 * @date 2017年6月13日 */public class MyException extends Exception {    private static final long serialVersionUID = 1L;    public MyException() {        super();    }    public MyException(String message) {        super(message);    }}

二、在方法中通过 throw 关键字抛出异常对象

throw new MyException("方法中抛出自定义异常");

三、使用 try-catch 语句捕获并处理异常

    /**     * 使用 try-catch 语句捕获并处理异常     */    public void handleException() {        try {            throw new MyException("handleException 方法中抛出自定义异常");        } catch (MyException e) {            System.out.println("handleException 方法中捕抓到异常,异常信息为:" + e.getMessage());        }    }

四、使用 throws 关键字抛出给方法的调用者处理该异常

    /**     * 使用 throws 关键字抛出给方法的调用者处理该异常     *      * @throws MyException     */    public void throwException() throws MyException {        throw new MyException("throwException 方法中抛出自定义异常");    }    public static void main(String[] args) {        ExceptionTest test = new ExceptionTest();        test.handleException();        try {            test.throwException();        } catch (MyException e) {            System.out.println("main 方法中捕抓到异常,异常信息为:" + e.getMessage());        }    }

注:完整的测试类和测试结果

package com.example.study.exception;/** * 自定义异常测试 *  * @author 李关钦 * @date 2017年6月13日 */public class ExceptionTest {    /**     * 在当前方法中使用 try-catch 语句捕获并处理异常     */    public void handleException() {        try {            throw new MyException("handleException 方法中抛出自定义异常");        } catch (MyException e) {            System.out.println("handleException 方法中捕抓到异常,异常信息为:" + e.getMessage());        }    }    /**     * 使用 throws 关键字抛出给调用者处理该异常     *      * @throws MyException     */    public void throwException() throws MyException {        throw new MyException("throwException 方法中抛出自定义异常");    }    public static void main(String[] args) {        ExceptionTest test = new ExceptionTest();        test.handleException();        try {            test.throwException();        } catch (MyException e) {            System.out.println("main 方法中捕抓到异常,异常信息为:" + e.getMessage());        }    }}

测试结果

这里写图片描述

原创粉丝点击