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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨长川 中级黑马   /  2012-12-21 16:10  /  1428 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨长川 于 2012-12-22 11:57 编辑

try.. catch..这条语句是怎么用的,谁能指导一下??

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
异常发生时,执行将终止,同时将控制权交给最近的异常处理语句,这就意味着不能按正常的设计思想执行。而有些资源清理(如关闭文件)必须总是执行,即使有异常发生,为了实现该功能,可以使用finally块。finally块用于清除try块中分配的任何资源,以及运行必须执行的代码,即使在发生异常的情况下。控制将总是传递给finally块,与try块的退出方式无关。

示例 try-catch-finally语句的使用

本示例中有一个导致异常的无效转换语句,当运行程序时,用户会收到一条运行时错误信息,但finally子句仍继续执行并显示输出。程序代码如下。

using System;public class MainClass{static void Main(){int i = 123;string s = "Some string";// http://www.bianceng.cnobject o = s;try{i = (int)o;}catch {  }finally{Console.Write("i = {0}", i);}Console.Read();}}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
异常处理使用 try、catch 和 finally 关键字尝试某些操作,以处理失败情况,尽管这些操作有可能失败,但如果您确定需要这样做,且希望在事后清理资源,就可以尝试这样做。异常是使用 throw 关键字创建的。很多情况下,异常可能不是由代码直接调用的方法引发,而是由调用堆栈中位置更靠下的另一个方法所引发。在这种情况下,CLR 将展开堆栈,查找是否有方法包含针对该特定异常类型的 catch 块,如果找到这样的方法,就会执行找到的第一个这样的 catch 块。如果在调用堆栈中的任何位置都没有找到适当的 catch 块,就会终止该进程,并向用户显示一条消息。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 王兵 于 2012-12-23 12:06 编辑

try.....catch用于检测异常:如果try中的代码没有出错,则不会执行catch中的代码。如果try中的代码出现异常,则程序立即跳到catch中。
用法:Try
{
有可能出现异常的代码
代码://如果上一行代码出错,则直接跳入catch中,本行代码就不会执行了,如果程序执行到本行代码,就证明上一行代码肯定没有出错。
}
Catch
{
// 对错误的程序进行提醒,比如告诉用户哪里出现了问题,需要怎么操作。
}
例题:输入用户的成绩
  Console.WriteLine("请输入你的成绩!");
         int  number;
            try
            {
                  number = Convert.ToInt32(Console.ReadLine()); //用户可能输入的不是一个数字,所以有可能会出错,如果出错则立即会跳到catch中。
                  Console.WriteLine("你输入的数字为{0}", number);//用户走到这里说明你输入了一个有效数字。
            }
            catch
            {
                Console.WriteLine("你输入的不是一个有效的数字,请重新输入一个有效数字");       // 提醒用户错误的原因。
                number = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("你输入的数字为{0}", number);
            }
                      Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马