【问题标题】:correct approach for design methods?设计方法的正确方法?
【发布时间】:2011-12-09 18:47:08
【问题描述】:

我想写一个返回值的类方法,如果类方法有异常就会返回。我很困惑如何为这种情况决定班级结构。我正在考虑的是该方法返回一个对象,如果该方法成功执行,则它返回一个值,否则返回一个异常消息。

class ABC
{
   public Object xxx(int a,int b)
   {
      Object returnValue=null;
      try{retunValue=a/b;}
      catch(Excetion e){returnValue=e;}            

    return returnValue;
   }

}

这是正确的方法吗,我也在考虑setXXXgetXXX 方法,但这对这种情况没有帮助。请帮助我,正确的方法是什么。

谢谢

【问题讨论】:

  • 为什么返回异常?而是将异常抛出到上层例程。
  • 处理异常或将其传递给下一个级别。不要两者结合
  • @vrbilgi:我想向根发送异常消息而不是异常对象。异常在引发异常的同一个类上捕获它。

标签: java methods


【解决方案1】:

当有任何异常存在时,您可以在 catch 块中抛出异常。并从您调用该方法的位置捕获异常

class ABC {

    public static Object xxx(int a, int b) throws Exception{
        Object returnValue = null;
        returnValue = a / b;
        return returnValue;
    }

    public static void main(String a[]){
        try {
            xxx(1, 2);
        } catch(Exception exc) {
            exc.printStackTrace();
        }
    }
}

【讨论】:

    【解决方案2】:

    您会得到上述代码的算术异常。你不应该抛出算术异常,而是通过检查抛出 IllegalArgumentException :-

    public int xxx(int a,int b)
    

    {

         if(b==0)
             throw new IllegalArgumentException("Argument divisor is 0");
        else
             return a/b;
    

    }

    详情请参阅SO Post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      相关资源
      最近更新 更多