我们可以将一个Exception Class对象分配给Object类对象的引用

0 java class object

为什么这不起作用,任何人都可以给出这一个的确切答案....

public class Manager
{
     public static void main(String args[])
     {
         try{

                 Object obj=new A();   //it will generate ClassNotFoundException object
                 System.out.println("currently the reference obj is pointer to the object:"+obj);

            }catch(Object o)
                  {
                      System.out.println(o);
                  }

        }

     System.out.println("End of Main");
}       
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

这不会简单,因为在"catch"语句中声明的变量必须是异常类型(即Throwable或子类型).

从Java语言规范的14.20节:

catch子句必须只有一个参数(称为异常参数); 声明的异常参数类型必须是Throwable类或Throwable的子类(不仅仅是子类型),否则会发生编译时错误.特别是,如果声明的异常参数类型,则是编译时错误是一个类型变量(§4.4).参数变量的范围是catch子句的块.

当然你可以写:

catch(Throwable t)
{
    Object o = t;
    System.out.println(o);
}
Run Code Online (Sandbox Code Playgroud)

目前尚不清楚你为什么要这么做.