黑马程序员技术交流社区

标题: 【疑问】 关于异常处理的小疑问 [打印本页]

作者: 薛鹏鹏    时间: 2013-7-21 16:48
标题: 【疑问】 关于异常处理的小疑问
本帖最后由 薛鹏鹏 于 2013-7-22 14:32 编辑

在进行数据处理的时候,可以提前对输入数据进行控制,避免不合理的数据传入;异常处理也能对传入的不合理数据进行控制。       [br/] [br/]那么为了避免不合理的数据进行运算,什么时候用控制数据的方法?什么时候用异常处理?
  1. //什么时候用控制数据的方法,什么时候用异常处理?

  2. class Demo
  3. {
  4.         int div(int a,int b)
  5.         {
  6.                 return a/b;
  7.         }
  8. }

  9. class  ExceptionDemo
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 Demo d = new Demo();
  14.                  try
  15.                  {
  16.                         int x= d.div(4,0);
  17.                         System.out.println("x="+x);
  18.                  }
  19.                  catch (Exception e)
  20.                  {
  21.                          System.out.println("不能除以零");
  22.                  }
  23.                
  24.            
  25.                 System.out.println("Hello World!");
  26.         }
  27. }
复制代码

作者: 周骑骏    时间: 2013-7-21 18:46
我觉得应该是当你的程序没有问题而是 输入者输入非法的时候就不能用异常处理的方法了,因为处理了也没用,结果本来就是错的,就应该直接把程序停掉。用runtimeexception。
如果该问题对后续的运算没有影响的话,你就可以异常处理。
作者: 薛鹏鹏    时间: 2013-7-21 20:19
liukunaitasa 发表于 2013-7-21 17:27
你要控制得好还行,一旦你控制不好,说不定程序直接就挂了,很不友好。
我觉得处理异常得站在用户的角度去 ...

控制数据的时候也可以输出提示信息,帮助用户输入合理的数据啊
作者: 杨兴庭    时间: 2013-7-21 23:01
薛鹏鹏 发表于 2013-7-21 20:19
控制数据的时候也可以输出提示信息,帮助用户输入合理的数据啊

真正的异常处理不是只是输出提示信息的,,,要有解决机制,怎么说呢异常没有必要深究吧,,能处理就处理,处理不了就抛出吧
作者: 薛鹏鹏    时间: 2013-7-23 10:50
今天看到毕老师说的关于使用if控制数据与异常处理的区别:
1.使用数据控制,数据依然会进行运算;而异常处理数据会停止运算,不进行无意义的运算。
2.数据控制,正常流程代码与问题处理代码太紧密,阅读性很差。




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