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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 殘遛の丶狳味 中级黑马   /  2013-8-3 21:52  /  1114 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

究竟在什么情况下该用?老是拿捏不准………………

8 个回复

倒序浏览
简单的说,如果哪段代码会出现错误,就用try把它包装起来,如果try中出现错误,则执行catch中的语句,二选其一,finally是不管try和catch中的代码能否执行,都必须执行。比如将字符串转换成整形的例子。
回复 使用道具 举报
我是在没有把握代码是完全没问题的情况下或者急于完成时我都会用下 或者做测试使用
回复 使用道具 举报
在你不确定是否会引发异常的情况下使用,如果你确定不会,那就不必了,异常捕捉过多会影响程序的性能的
回复 使用道具 举报
一般来说,如果异常你能处理的话则最好捕获,如果无法捕获,则抛出。利用try-catch捕获异常,在调试时容易找出错误。在VS中F9为设置断点,F10逐行调试,F11进入定义函数(语句)进行调试
回复 使用道具 举报
异常捕获:
try
{
  可能出错的代码;
}
catch
{
  出错后的处理代码;
}
把有可能出错的代码卸载try中,出错后的处理代码写在catch中。
执行过程:如果try中的代码出现了异常,则不会继续向下运行,即使try中的代码没有执行完,也会停止执行,出现异常的代码的下面代码都不会执行,然后直接跳到catch中,执行catch中的代码。

例如:转换类型的时候string类型转为int类型就容易出错,这时候要把代码写在try中。
回复 使用道具 举报
将可能引发异常的代码节放在 Try 块中,而将处理异常的代码放在 Catch 块中。Catch 块是一系列以关键字 catch 开头的语句,语句后跟异常类型和要执行的操作。
例如:你需要用户输入一个数字
bool b = true;
            Console.WriteLine("请输入一个数字");
            int number = 0;
            try
            {
                number = Convert.ToInt32(Console.ReadLine());//此处有可能输入错误导致转换失败,所以需要try一下

            }
            catch
            {
                Console.WriteLine("输入有误,程序退出");//如果真出错了就走此语句
                b = false;
            }
            if (b)
            {
                Console.WriteLine("您刚刚输入的数字是{0}", number);
            }
回复 使用道具 举报
很多异常是可预见的,比如参数错误,比如事件有无订阅等等,最好用条件判断消除掉,因为try Catch不是把性能浪费在这个上面的。
在你觉得容易出错的地方,一般大家会给整个大的程序try Catch一下,比如某个大的工作线程
事实上对性能影响不大,因为try Catch是为了防止不可预见的异常,不至于程序崩溃,所以不是经常中断,然后组织throw exception这样的大动作。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马