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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本人在自定义异常抛出上,有一些问题,请各位不吝惜指教。先来看一则我写的小程序:
  1. class DemoException extends Exception
  2. {
  3.         DemoException()
  4.         {
  5.                 super();
  6.         }
  7.         DemoException(String msg)
  8.         {
  9.                 super(msg);
  10.         }
  11. }
  12. class Plus
  13. {
  14.         public int simplePlus(int a ,int b) throws DemoException
  15.         {
  16.                 if(b==0 && a==0)
  17.                         throw new DemoException("the number u put is zero / by zero");
  18.                 return a+b;
  19.         }
  20. }

  21. class  Demo1
  22. {
  23.         public static void main(String[] args)
  24.         {
  25.                 Plus d=new Plus()
  26.                 try
  27.                 {
  28.                         System.out.println("the sum="+new plus().simplePlus(0,0));
  29.                 }
  30.                 catch (DemoException e)
  31.                 {
  32.                         System.out.println(e.toString());
  33.                         System.out.println("出错了。");
  34.                 }
  35.         }
  36. }
复制代码
上面的自定义异常,                        throw new DemoException("the number u put is zero / by zero");
所抛出的新建异常实体,是否被
        public int simplePlus(int a ,int b) throws DemoException
以 throws DemoException 将该在遇到问题时建立的实体抛出?在实际应用当中,是否还有其它的巧妙方法实?




点评

听老师讲,自定义异常好像在项目中用的挺多的。。不知道自定义异常是否有可能使用到多态和内部类呢?还是说都是相差无几的近乎固定的格式?  发表于 2015-2-28 14:22

3 个回复

倒序浏览
判断分母为0就行了。
说正题:
排除异常应该是编程中最让人恼火的事。
异常一般应考虑两点(我觉的):
1,异常信号是提醒程序员修正代码。
所以,一般不应该行方便,让程序通过。而是终止。
2,异常要抛的明确。
在方法调用方法,层层包装中,涉及多个异常时,所抛异常应能准确概括当前所做的事,便于快速诊断处理。
3,开发中的异常处理。
  信息不是打印控制台,而是存入日志。
4,自定义异常,说白了就是程序员为了自己排除问题方便,所做的记号。
回复 使用道具 举报
sofeel 发表于 2015-3-1 00:45
判断分母为0就行了。
说正题:
排除异常应该是编程中最让人恼火的事。

哦,明白了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马