黑马程序员技术交流社区

标题: 请教try catch 的相关问题 [打印本页]

作者: Kevin123    时间: 2012-12-4 17:36
标题: 请教try catch 的相关问题
本帖最后由 白良锦 于 2012-12-18 12:49 编辑

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

}
catch ()
{
}


作者: 齐银春    时间: 2012-12-4 19:05
如果正确就是执行代码if里面的语句 错误了就执行else里面的语句,和try{} catch{}类似,if和try对应,else和catch对应。
作者: Kevin123    时间: 2012-12-4 19:15
齐银春 发表于 2012-12-4 19:05
如果正确就是执行代码if里面的语句 错误了就执行else里面的语句,和try{} catch{}类似,if和try对应,else ...

如何体现简化呢?
作者: 庄生晓梦    时间: 2012-12-5 16:46
try catch是异常语句
if else是流程控制语句

作者: 黄小贝    时间: 2012-12-6 19:32
举一个例子,在开发中,你写了一个方法接受参数为一个List,然后你这个方法里面具体是要得到List的第N个元素

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

如:



但是如果你用 try catch 的话







作者: Chaiber    时间: 2012-12-6 20:47
我记得看视频的时候,老师主要强调的是优化代码。

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

还有一个,用if,else有些时候会写很多的if,代码的阅读性会下降;
作者: Kevin123    时间: 2012-12-18 12:49
Chaiber 发表于 2012-12-6 20:47
我记得看视频的时候,老师主要强调的是优化代码。

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

明了了,谢谢




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