黑马程序员技术交流社区
标题:
try...catch...和if好像,是不是相同的原理,不同的关键字?
[打印本页]
作者:
张可
时间:
2012-8-14 18:48
标题:
try...catch...和if好像,是不是相同的原理,不同的关键字?
try...catch...和if好像,是不是相同的原理,不同的关键字?
作者:
申延超
时间:
2012-8-14 22:53
本帖最后由 申延超 于 2012-8-14 22:57 编辑
我认为这两个没直接关联,起的作用也不同呀,判断的条件完全不同
try
{
代码1 //可能出错的代码 例如 int a=convert.ToInt32(console.readline()); 当用户输入的不是数字而导致不能转换为int类型时,便产生错误
代码2 //当代码1出错后,不再继续执行代码2及后续代码,直接跳转到catch
}
catch
{
代码 //当上面个大括号中的代码出错后才执行,不出错不执行
}
而
if(条件)
{
语句
}
条件为true则执行下面括号中的语句,为false则不执行
这两个有更本上的区别
作者:
王龙喜
时间:
2012-8-14 23:34
这个在理解上是可以这么认为的,都是如果true则 “成功执行” 其内部的语句,如果为false,则执行其他语句。。。但是 if只能作为条件是否执行的判断,但是try /catch 不仅可以执行,如果try内部语句执行时出错,可以捕捉到异常,跳入catch语句执行。
作者:
杨正
时间:
2012-8-15 23:46
你所说的原理应该是他们的实现语句吧,是不一样的。当然你所觉得相似的地方应该是他们都是分支结构,都有一个条件判断。但区别还是相当大的。try-catch主要是捕获异常的,而if语句则是条件判断语句。他们的用法是截然不一样的,没有重叠的地方哦。try-catch能捕获异常,这里if语句是做不了的啊。而if语句可以判断条件,然后再选择是否执行里面的语句,这也是try-catch语句没法实现的。
同学,多敲代码,其义自见。
作者:
梁健1
时间:
2012-8-16 18:52
try{}catch{}中,try{}后面的语句不进行判断就执行,if()是先判断在执行{}中语句,而且try{}执行的时候,是捕捉错误的,只有有错误的时候,才会跳入catch{}执行,而if()判断的条件范围就广了,包括错误;
作者:
童兴龙
时间:
2012-8-16 19:22
首先原理就不同吧,if(必须是结果一个布尔型的值){执行代码}然后else if {代码}
try是直接接{这里面可能抛某异常}然后catch(异常类型){代码}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2