黑马程序员技术交流社区

标题: 关于自定义异常的问题 [打印本页]

作者: 黄泉    时间: 2014-4-2 17:22
标题: 关于自定义异常的问题
class FuShuException extends Exception
{       
        private int value;
        FuShuException(String msg,int value)
        {
                super(msg)
                this.value = value;
        }

        public int getValue()
        {
                return value;
        }
}

class Demo
{
        int div(int a ,int b)throws FuShuException
        {
                if (b<0)
                        throw new FuShuExceotion("出现了除数是负数的情况",b);//这段代码是如何加载?求指导
               
                return a/b;
        }
}

class ExceptionDemo3
{
        public static void main(String[] args)
        {
                Demo d = new Demo();
                try
                {
                        int x = div(4,-3);
                }
                catch (FuShuException e)
                {
                        e.printStackTrace();
                        System.out.println("除数出现了负数");
                        System.out.println("出现错误的数字"+b);
                }
        }
}
作者: papercup    时间: 2014-4-2 19:21
给你注释了一下
  1. class FuShuException extends Exception
  2. {        
  3.         private int value;
  4.         FuShuException(String msg,int value)    //异常的构造方法。
  5.         {
  6.                 super(msg);
  7.                 this.value = value;
  8.         }

  9.         public int getValue()
  10.         {
  11.                 return value;
  12.         }
  13. }

  14. class Demo
  15. {
  16.         int div(int a ,int b)throws FuShuException  //传入 a 、b 调用
  17.         {
  18.                 if (b<0)
  19.                         throw new FuShuException("出现了除数是负数的情况",b);//这段代码是如何加载?求指导
  20.                         //如果 b < 0 就会抛出 FuShuException
  21.                  //定义FuShuException 传入“出现了除数是负数的情况”异常被捕获后就会显示异常名称。
  22.                 return a/b;
  23.         }
  24. }

  25. class ExceptionDemo3
  26. {
  27.         public static void main(String[] args)
  28.         {
  29.                 Demo d = new Demo();
  30.                 int x = 0;
  31.                 try
  32.                 {
  33.                         x = d.div(4,-3);  // 调用 d 的 div 方法。
  34.                         System.out.println("结果为:"+x);
  35.                 }
  36.                 catch (FuShuException e)
  37.                 {
  38.                         e.printStackTrace();   
  39.                         System.out.println("除数出现了负数");
  40. //                                                System.out.println("出现错误的数字"+x);
  41.                 }
  42.         }
  43. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2