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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kevin123 中级黑马   /  2012-12-4 17:36  /  1784 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 白良锦 于 2012-12-18 12:49 编辑

看教程的时候老师说有些时候用try catch可以替代if else 可以简化代码,请教在哪些情况下可以用try catch  替换if else 语句来简化代码?
try
{

}
catch ()
{
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

6 个回复

倒序浏览
如果正确就是执行代码if里面的语句 错误了就执行else里面的语句,和try{} catch{}类似,if和try对应,else和catch对应。
回复 使用道具 举报
齐银春 发表于 2012-12-4 19:05
如果正确就是执行代码if里面的语句 错误了就执行else里面的语句,和try{} catch{}类似,if和try对应,else ...

如何体现简化呢?
回复 使用道具 举报
try catch是异常语句
if else是流程控制语句
回复 使用道具 举报
举一个例子,在开发中,你写了一个方法接受参数为一个List,然后你这个方法里面具体是要得到List的第N个元素

假如为了不让程序出抛出异常,你需要在方法的开始用各种if语句来阻止参数非法的时候,如 List为空,长度是比N小,还有各种各样的参数验证,(有时候你以为自己控制的很好了,但是经常抛出异常就是因为实际传入的参数不合法,最笨的方法就是用 if 控制)

如:



但是如果你用 try catch 的话






回复 使用道具 举报
我记得看视频的时候,老师主要强调的是优化代码。

用if,else的话,代码中的问题和解决方案会堆在一起,如果要改代码的时候,就会出现不必要的麻烦;
但是用try,catch 的话,问题在try中,而解决方法则在catch中,不论是现在针对问题作出解决,还是以后修改代码都很方便。

还有一个,用if,else有些时候会写很多的if,代码的阅读性会下降;
回复 使用道具 举报
Chaiber 发表于 2012-12-6 20:47
我记得看视频的时候,老师主要强调的是优化代码。

用if,else的话,代码中的问题和解决方案会堆在一起,如 ...

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