黑马程序员技术交流社区

标题: 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