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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Candy 高级黑马   /  2013-7-22 16:33  /  934 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-23 17:43 编辑

在进行数据处理的时候,可以提前对输入数据进行控制,避免不合理的数据传入;异常处理也能对传入的不合理数据进行控制。       [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. }
复制代码

6 个回复

倒序浏览
这这。。。。。。怎么看着这么熟悉{:soso_e114:}
回复 使用道具 举报
薛鹏鹏 发表于 2013-7-22 16:47
这这。。。。。。怎么看着这么熟悉

难道是你失散了多年青梅竹马的小伙伴;P
回复 使用道具 举报
1 调用了能抛出异常的类或方法,这时就可用异常来预处理数据,比如键盘输入不是数字字符而是字母字符,这时如果调用了Integer类 将输入的字符数据转成Integer型数据时就会抛出异常,这时候就可以利用这个异常告诉用户输入的不是纯数字字符串,请用户重新输入。
2 如果用户输入的确实是纯数字字符串,还抛出异常 就说明他输入的数字值太大 超出了Integer的范围,这时就可以用数据控制的方法比如正则表达式,将判断输入的字符串是不是纯数字类型做提前预处理,把数字值太大超出Integer范围这个异常放到 异常里来处理 。用这两种方法相结合,就可以判断 出用户到底是数字太大错还是输入的不纯数字的错误了。
表达的可能不太清楚 试着理解一下吧,看不懂就让他漂过。。。

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

回复 使用道具 举报
杨兴庭 发表于 2013-7-22 18:18
难道是你失散了多年青梅竹马的小伙伴

明显就是复制我的帖子

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1 奖励你的技术分

查看全部评分

回复 使用道具 举报
薛鹏鹏 发表于 2013-7-22 21:30
明显就是复制我的帖子

恩。。好像我昨天还回复了你的问题。。呵呵。。谢谢你的提醒,我会撤销他的本帖技术分奖励的,也有可能是他看了你的帖子不懂也提问一次,这种情况也是允许的
回复 使用道具 举报
杨兴庭 发表于 2013-7-22 21:35
恩。。好像我昨天还回复了你的问题。。呵呵。。谢谢你的提醒,我会撤销他的本帖技术分奖励的,也有可能是 ...

还有意外惊喜,谢谢了。   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马