比如  class Ceshi throws Exception{}
这样是会报错,感觉是只能在方法名上抛错,但是又看到百度上说自定义的异常类上能抛异常,试了下也不行
我之所以有这疑问是因为,我new一个对象的时候,new完就会有异常,但是我又想把它放在类的变量成员上,并标为静态,这样我其他的类中就能直接调用我new好的对象。但是会抛异常,不知道该如何处理,异常在类名上抛不行,求高手指导。
PS:最好别用其他的方法达到我的目的。

解决方案 »

  1.   

    在你的类构造方法里,直接throw new Exception();
      

  2.   


    我知道这样可以扔异常,但是构造方法是初始化的,我用静态来new这个对象是为了其他类能直接调用我new的对象。你这样的话似乎不能达到我想要的结果。
      

  3.   

    比如Xxx a =new Xxx();
    这个会有异常抛出.
    而我想
    class Ceshi{
    public static Xxx a =new Xxx();
    }
    这样我的a在其他类中能直接调用.但是不知道异常要怎么抛
      

  4.   

    懂了,就是别人想用你的类,必须通过静态常量来用这个实例,不允许自己new 是吧?
    public class A{
       private boolean onece = true;
       public static A myObj = new A();   public A(){
         if(once)
         {
            onece = false;
         }
         else{
            throw new Exception("请使用A.myObj引用对象!");
         }
       }
    }大概这个意思,稍微改改~
      

  5.   


    问题1:我new的不是本类呢?
    问题2:你throw的异常要声明吧,似乎没有看到你的声明或者try{}catch(Exception e){}方法.
      

  6.   


    还有一点就是你这样的话  是永远不会执行到else里的语句,也就是你不可能抛出异常
      

  7.   

    你说的对,稍微改了下:public class InstanceException {
    public static void main(String[] args) {
    //AA a = new AA();//抛异常
    AA a = AA.aObj;//无异常
    }
    }class AA {
    public static AA aObj = new AA();

    public AA(){
    if (null != aObj){
    throw new RuntimeException("请使用A.aObj");
    }
    }
    }
      

  8.   

    嗯 ,你这样是行的,不过有一个比较致命的问题,就是我要是new的不是本类,就是在你的 AA类里,我不是new AA()抛出的异常,我是new Xxx();抛出的异常;
      

  9.   

    嗯 ,你这样是行的,不过有一个比较致命的问题,就是我要是new的不是本类,就是在你的 AA类里,我不是new AA()抛出的异常,我是new Xxx();抛出的异常;
    致命。。
    这边就是给个样例,其它类也可以照样模仿的。或者你把你的代码贴上来,说出要求,看看是否可行。
      

  10.   

    嗯 ,你这样是行的,不过有一个比较致命的问题,就是我要是new的不是本类,就是在你的 AA类里,我不是new AA()抛出的异常,我是new Xxx();抛出的异常;
    致命。。
    这边就是给个样例,其它类也可以照样模仿的。或者你把你的代码贴上来,说出要求,看看是否可行。
    我的意思是我不new本类  你是不可能用构造方法抛异常的,说着说着似乎离题了.
      

  11.   

    嗯 ,你这样是行的,不过有一个比较致命的问题,就是我要是new的不是本类,就是在你的 AA类里,我不是new AA()抛出的异常,我是new Xxx();抛出的异常;
    致命。。
    这边就是给个样例,其它类也可以照样模仿的。或者你把你的代码贴上来,说出要求,看看是否可行。我似乎知道你哪里理解错了.  我new的对象不是自己定义的类,是java里的类,而new这个对象系统自己就会有异常throw出来,我问的是这个异常要在哪里声明,只能在方法里声明吗?