📜  Java中的用户定义异常

📅  最后修改于: 2020-04-05 07:04:48             🧑  作者: Mango

Java为我们提供了创建自己的异常的工具,这些异常基本上是Exception派生类。例如,以下代码中的MyException扩展了Exception类。
我们将字符串传递给超类的构造函数-Exception,该异常是在创建的对象上使用“ getMessage()”函数获得的。

// Java展示使用用户定义的异常
class MyException extends Exception
{
    public MyException(String s)
    {
        // 调用父类的异常构造函数
        super(s);
    }
}
// 使用MyException的类
public class Main
{
    // 测试程序
    public static void main(String args[])
    {
        try
        {
            // 抛出用用户定义异常
            throw new MyException("芒果芒果");
        }
        catch (MyException ex)
        {
            System.out.println("被捕获");
            // 从MyException异常打印信息
            System.out.println(ex.getMessage());
        }
    }
}

输出:

被捕获
芒果芒果

在上面的代码中,MyException的构造函数需要一个字符串作为其参数。该字符串使用super()传递给父类Exception的构造函数。也可以在没有参数的情况下调用Exception类的构造函数,且对super的调用不是强制性的。

// Java展示使用用户定义的异常
class MyException extends Exception
{
}
// 使用MyException的类
public class setText
{
    // 测试代码
    public static void main(String args[])
    {
        try
        {
            // 抛出用户定义的异常
            throw new MyException();
        }
        catch (MyException ex)
        {
            System.out.println("被捕获");
            System.out.println(ex.getMessage());
        }
    }
}

输出:

被捕获
null