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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吕振 中级黑马   /  2013-3-7 14:15  /  3353 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

try catch finally中 catch和finally的作用

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

7 个回复

倒序浏览
try
{
可能出问题的代码
}
catch
{
出问题后执行的代码
}
finally
{
一定执行的代码
}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
给你个实例。
  1. Console.WriteLine("请输入内容:");
  2.             string str = Console.ReadLine();
  3.             try
  4.             {
  5.                 int i = Convert.ToInt32(str);
  6.                 Console.WriteLine("try:转换成功了!");
  7.             }
  8.             catch (Exception ex)
  9.             {
  10.                 Console.WriteLine("catch:转换失败!原因:{0}", ex.Message);
  11.             }
  12.             finally
  13.             {
  14.                 Console.WriteLine("finally:不管转换怎么样,反正会执行这里。");
  15.             }
  16.             Console.ReadLine();
复制代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
1、catch是捕获异常,抛出异常,当try语句块中的代码出现异常时,catch立马捕获异常,提示异常。
           try
  {   
                                          可能会出现异常的代码
}
                             catch(Exception  ex)
{
                                     Console.WriteLine(ex);
}
               finally
{
                                                                                                            当出现异常时一定回执行的代码,相当于是对出现异常的紧急处理手段
}
  2、catch也可以充的finally的部分作用,当try语句块的代码出现异常可以在catch语句块中编写处理代码。
            try
                                                             {      Console.WriteLine("请输入一个整数值");
                                                                             int  num=Convert.ToInt32(Console.ReadLine());
}
                  catch
{
                                                                                    Console.WriteLine("您输入的不是数字,请重新输入");
}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
通俗点说catch就是捕获异常的,把有可能出错的代码写到try中,当出现错误时直接跳到catch中;
finally:无论出错与否,它的语句块里的语句都要执行。关闭数据库连接的代码写到finally里边。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
try中写可能出错的代码
catch中写对try中的代码出现错误后要执行的处理,抛出异常信息
finally,不管try中的代码是否出现错误,都会执行finally中的代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
首先try{}中写出将要出错的代码块,catch中则负责捕获异常代码并进行处理,finally中则写程序中必须执行的代码,比如一些连接的关闭等。。
回复 使用道具 举报
catch用于捕获异常,finally放在catch之后,不论try catch语句块是否执行finally中的语句都要执行,若try中有return语句,则先执行finally中的语句,再执行finally中的语句。
finally语句中常常可以写一些关闭资源的语句。如在对数据库进行操作时,关闭数据库返回的结果集ResultSet,关闭向数据库发送要执行的SQL语句的Statement
,关闭数据库连接等等。这样写的好处是无论怎样只要程序执行完,就会释放关联这些操作的系统资源,可以防止内存泄露。当然finally的用处还有很多。我们可以在编程过程中慢慢发现。   希望这些能帮助你。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马