运用try、catch、finally、throw编写C#程序实现异常处理

如题所述

一、C#的异常处理所用到关键字
try 用于检查发生的异常,并帮助发送任何可能的异常。
catch 以控制权更大的方式处理错误,可以有多个catch子句。
finally 无论是否引发了异常,finally的代码块都将被执行。
throw 用于引发异常,可引发预定义异常和自定义异常。

二、C#异常处理的格式
try
{
程序代码块;
}
catch(Exception e)
{
异常处理代码块;
}
finally
{
无论是否发生异常,均要执行的代码块;
}

三、异常处理实战
一个除数和零的简单例子:
public class DivisorIsZero
{
private static void Main()
{
int dividend=10;
int divisor1=0;
int divisor2=5;
int DivideValue;

try
{
DivideValue=dividend/divisor1; //(1)
//DivideValue=dividend/divisor2; //(2)
System.Console.WriteLine("DivideValue={0}",DivideValue);//(3)这一行将不会被执行。
}
catch
{
System.Console.WriteLine("传递过来的异常值为:{0}",e);
}
finally
{
System.Console.WriteLine("无论是否发生异常,都会显示。");
}
}
}
注:(1)行被执行则会抛出一个异常,如果没有catch语句,程序会异常终止,使用不带参数的catch子句,则可以捕获任意类型的异常。
如果将(1)行注释掉,启用(2)行,这意味该程序运行时不会出现异常,从输出可知,finally代码块仍将被执行。

可以给try语句提供多个catch语句,以捕获特定的异常,如上例中:0作为除数则会引发DivideByZeroException类型的异常,上例中的catch语句可以作如下修改:
catch(DivideByZeroException e)
{
System.Console.WriteLine("零不能作为除数!异常值为:\n{0}",e);
}
catch(Exception e)
{
System.Console.WriteLine("并非\''零作为除数引发的异常\"!异常值为:\n{0}",e);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-09
try里写要实现的逻辑代码。
catch里捕捉异常,就是如果出异常了,就在这里处理。
finally就是不管出不出异常,都会走到这。
throw用在catch里,用来抛异常。
try
{数据、逻辑代码操作}
catch(实例异常)
{ throw操作}
finally
{ 关闭连接等操作}
第2个回答  2010-06-29
try里写你要实现的逻辑代码。

catch里捕捉异常,就是如果出异常了,就在这里处理。

finally就是不管出不出异常,都会走到这。

throw用在catch里,用来抛异常。

try
{
数据、逻辑代码操作
}
catch(实例异常)
{
throw操作
}
finally
{
关闭连接等操作
}本回答被网友采纳

c#描述异常处理语句try、catch、finally执行时的相互关系
try里面是执行代码,其中的代码"可能"产生异常.catch是对产生异常后的处理代码,可以抛出异常,也可以显示异常,也可以弹出某中提示,总之catch里是任何代码都行,如果你知道这钟异常产生的原因,可以打印此原因,也可以对此原因进行相应的处理,同时可以为多个catch,每个catch(异常类型) 用多个catch来捕获多种异常...

c#中的try , cacth , finally 都是什么意思啊?怎么用啊
在C#编程语言中,try, catch, and finally 是一组用于处理程序运行时异常的关键结构。它们的主要作用是增强代码的健壮性和错误管理,确保程序在遇到异常情况时能够有序地执行清理操作,而不是突然中断。当你使用try块时,你将一段可能会抛出异常的代码包裹在里面。如果这段代码执行过程中发生了预期之外的...

C# 如何用try catch 语句写连接服务器失败处理
catch会截获错误的源信息,比如 catch(Exception e)这样就可以截获并抛出一个异常!然后你可以用msg显示出这个错误,如 messagebox.show(e.message)这个错误就是发生了具体的错误。当然这种错误的描述可能比较书面化,你也可以添加自定义的错误消息给用户。而你真正关闭DB连接的语句应该写在finally语句块里面...

C#中如何处理异常?怎么使用try-catch语句?
{ 异常处理语句;throw;} 1、try语句块中放置可能存在异常的代码块。若执行try语句块时有异常发生,则程序抛出的异常,由catch语句捕获;若try语句块没产生异常,程序会直接跳出try-catch语句。2、catch语句块紧跟在try语句块后面,它可以捕获try语句块中抛出的异常。注意catch关键字后有一对小括号,小括...

c#环境下 异常语句捕捉和处理异常的机理是什么?
try-catch:块中包含你所要监控的代码 catch:一旦出现异常,则进入到catch块中进行异常处理,如记日志、释放资源等 finally:无论是否出现异常,该块中的代码都会被执行。典型的应用如无论是否正确的进行了数据库操作,到最后都应当及时的关闭数据库连接,因此数据库连接的关闭应该放到finally块中。

常见的C#异常及其修复方法
了解如何使用try、catch、finally关键字和throw关键字,可以帮助您更有效地处理异常。以下是常见C#异常的修复方法:1. System.NullReferenceException:确保在调用方法或属性之前,对象已被正确初始化且非空。如果可能,抛出System.ArgumentNullException以提醒调用者提供非空参数。2. System.IndexOutOfRange...

C# 教程泛型和反射和编译后宏提示和异常提示。
C#异常处理是处理程序运行中的错误和异常的关键。通过try-catch-finally和throw等关键字,程序能够有序地处理错误,如尝试将字符串转换为整数时,catch语句捕获并显示`FormatException`异常信息。异常类在C#中使用类来表示,如System.ApplicationException和System.SystemException,它们分别表示应用程序自定义异常...

C#如果多次执行异常的代码呢?
你处理是执行了catch中的语句,怎麼好跳到前面去呢,就算用goto语句跳过去,你还要知道跳的位置,还不如把可能异常的代码先放在try中,然後把不管发不发生异常就执行finally块裏面的代码,这里就放你必须执行的代码,如果finally块中的代码还需要捕抓就在裏面嵌套用try...catch..finally语句就好了。

有哪位高手能告诉我异常处理机制指的是什么意思?
4.可能导致异常的操作通过 try 关键字来执行。5.异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。6.程序可以使用 throw 关键字显式地引发异常。7.异常对象包含有关错误的详细信息,其中包括调用堆栈的状态以及有关错误的文本说明。8.即使引发了异常,finally 块...

写出try语句的三种形式
1.try { } 2.try { } catch(Exception ex){ throw ex;} 3.try { } catch(Exception ex){ throw ex;} finally \/\/(finally 好象写错了 ){ }

相似回答
大家正在搜