一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1255|回复: 1
收起左侧

[学Java/C#] Java try/catch 作为判断条件使用 求教

[复制链接] |试试Instant~ |关注本帖
ldpraymond 发表于 2016-1-4 20:47:04 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
大家好,关于 try/catch 有个问题,望大神们求解。

在解 Evaluate Polish Notation 题目中,原本我采用了 try/catch 让代码更 generic,可以扩展更多运算操作。代码如下:
  1. for(String str: tokens) {
  2.             try {
  3.                 int num = Integer.parseInt(str);
  4.                 stack.push(num);
  5.             } catch (Exception e){
  6.                 int num2 = stack.pop();
  7.                 int num1 = stack.pop();
  8.                 int num = helper(num1, num2, str);
  9.                 stack.push(num);
  10.             }
  11.         }
复制代码
查看了 stackOverflow 相关内容,这么使用 try/catch 是很不好的。有兴趣的朋友可以看一下:http://stackoverflow.com/questio ... -try-catch-overhead

但是,以前也见过使用 try/catch 来作为判断条件的,例子如下:
  1. public boolean isLong(String str) {
  2.     try {
  3.         Long.parseLong(str);
  4.     } catch(Exception e) {
  5.         return false;
  6.     }
  7.     return true;
  8. }
复制代码
求大神科普一下,感激不尽!





Screen Shot 2016-01-04 at 07.41.12.png
donnice 发表于 2016-1-5 06:22:44 | 显示全部楼层
感觉一般用于判断的情况用一个普通的ifelse就可以了,try/catch是用来终止程序运行并且抛出异常的。非要说这么做为什么不好的话,可能如果if的可能性变多了,比如从if else到if else if...... , else这种情况,你的代码扩展性就不好了
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-3 10:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表