A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴通 中级黑马   /  2012-8-22 20:07  /  2088 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴通 于 2012-9-19 09:58 编辑

class FuShuException extends RuntimeException
{
        FuShuException(String msg)
        {
                super(msg);
        }
}
class Demo
{
        int div(int a,int b)
        {
                if(b<0)
                        throw new FuShuException("出现了除数为负数");
                if(b==0)
                        throw new ArithmeticException("被零除了");
                        return a/b;
        }
}
class LinLeiException
{
        public static void main(String[] args)
        {
                Demo d=new Demo();
                int x=d.div(4,0);
                System.out.println("x="+x);
                System.out.println("over");
        }
}

这个程序在编译的时候提示“出现了除数为负数”为非法字符,这是为什么?

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1 新人鼓励分

查看全部评分

4 个回复

倒序浏览
你这个程序没什么问题,可能是你输入数字为字符串去了吧!
回复 使用道具 举报
throw new FuShuException("出现了除数为负数");
上面一句的最后的分号为中文的分号,改成;

另外当b=0时,return a/b;会报除零异常,应该捕获
  1. class FuShuException extends RuntimeException
  2. {
  3.         FuShuException(String msg)
  4.         {
  5.                 super(msg);
  6.         }
  7. }
  8. class Demo
  9. {
  10.         int div(int a,int b)
  11.         {
  12.                 if(b<0)
  13.                         throw new FuShuException("出现了除数为负数");
  14.                 if(b==0)
  15.                         throw new ArithmeticException("被零除了");
  16.                         return a/b;
  17.         }
  18. }
  19. class  LinLeiException
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Demo d=new Demo();
  24.                                 int x=0;
  25.                 try{x=d.div(4,0);}catch(ArithmeticException e){System.out.println(e.getMessage());}
  26.                 System.out.println("x="+x);
  27.                 System.out.println("over");
  28.         }
  29. }
复制代码
回复 使用道具 举报
楼上已经回答你了,分号写成中文格式的 分号了,编译器当然无法识别。改过来就ok了。

建议把标题改为已解决~~:)
回复 使用道具 举报
已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马