C#魔仙-lesson_04-异常处理

异常处理

异常是在程序执行期间出现的问题。

  • try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
  • catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
  • finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。
  • throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。

语法

try
{
   // 引起异常的语句
}
catch( ExceptionName e1 )
{
   // 错误处理代码
}
finally
{
   // 要执行的语句
}

异常类

C# 异常是使用类来表示的。C# 中的异常类主要是直接或间接地派生于 System.Exception 类。System.ApplicationException 和 System.SystemException 类是派生于 System.Exception 类的异常类。
System.ApplicationException 类支持由应用程序生成的异常。所以程序员定义的异常都应派生自该类。
System.SystemException 类是所有预定义的系统异常的基类。

创建用户自定义异常

您也可以定义自己的异常。用户自定义的异常类是派生自 ApplicationException 类。

public class TempIsZeroException: ApplicationException
{
   public TempIsZeroException(string message): base(message)
   {
   }
}

抛出对象

如果异常是直接或间接派生自 System.Exception 类,您可以抛出一个对象。您可以在 catch 块中使用 throw 语句来抛出当前的对象。

Catch(Exception e)
{
   ...
   Throw e
}

参考文档:http://www.runoob.com/csharp/csharp-exception-handling.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 在程序运行过程中(注意是运行阶段,程序可以通过编译),如果JVM检测出一个不可能执行的操作,就会出现运行时错...
    Steven1997阅读 7,164评论 1 6
  • 八、深入理解java异常处理机制 引子try…catch…finally恐怕是大家再熟悉不过的语句了, 你的答案是...
    壹点零阅读 5,532评论 0 0
  • packagetestexcrpltiom; importjava.text.ParseException; im...
    猿学阅读 5,291评论 0 2
  • 即使两人相爱,他们的灵魂也无法同行。世间最动人的爱仅是一颗独行的灵魂与另一颗独行的灵魂之间的最深切的呼唤和应答。这...
    米亚米桑阅读 4,500评论 0 4
  • 穿过长长的时光隧道我听到有人在轻轻地呼唤我的名字是你吗 六月的夜晚星星点上灯微风掠过露水滑落定于2018.6.28...
    简JN阅读 6,582评论 60 76