黑马程序员技术交流社区

标题: 提问: 关于自定义异常抛出时的一些小问题 [打印本页]

作者: 埗箬    时间: 2015-2-28 14:18
标题: 提问: 关于自定义异常抛出时的一些小问题
本人在自定义异常抛出上,有一些问题,请各位不吝惜指教。先来看一则我写的小程序:
  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 将该在遇到问题时建立的实体抛出?在实际应用当中,是否还有其它的巧妙方法实?





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

哦,明白了,谢谢




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