如何使用非自定义的异常构造函数?

时间:2019-02-11 05:15:38

标签: java

在Javadoc中,我可以看到Class ClassCastException的带有String参数的构造方法。但是ClassCastException的实例是由JVM自动创建的,我不知道如何使用ClassCastException的构造方法。

在我的代码中,我想得到的结果是“错误”,而不是“ B无法转换为C”。

class Prac {
    public static void main(String[] args) {
        try {
            ClassCastException e = new ClassCastException("wrong");
            A a = new B();
            C c = (C)a;
        }
        catch(ClassCastException e) {
            System.out.println(e.getMessage());
        }

    }
}

class A {

}

class B extends A {

}

class C extends A{

}

结果:B无法转换为C

1 个答案:

答案 0 :(得分:0)

如果您想要结果“错误”,则只需打印“错误”。

public static void main(String[] args) {
    try {
        A a = new B();
        C c = (C)a;
    }
    catch(ClassCastException e) {
        System.out.println("wrong");
    }
}

无需修改。