【问题标题】:What does C# throw and finally means in lay men terms? [closed]C# throw and finally 是什么意思? [关闭]
【发布时间】:2012-06-19 08:05:03
【问题描述】:

假设你正在运行一个程序,

它符合“THROW”声明......会发生什么? 程序会停止吗?会继续吗?

“终于”是为了什么?

请用简单的话解释一下

【问题讨论】:

标签: c# try-catch try-catch-finally


【解决方案1】:

如果程序遇到throw 指令,它将抛出异常。

您的应用程序是停止还是继续运行取决于您是否处理该异常而不是 catch 指令。

相反,

finally 被引入以保证执行该块内的包含代码,无论是否引发异常。

【讨论】:

    【解决方案2】:

    请在此处查看 MSDN 文档:http://msdn.microsoft.com/en-us/library/1ah5wsex.aspx

    简而言之,throw 引发了异常。如果您在 try-catch 块中,那么它将被捕获,否则您的程序可能会崩溃。

    finally 块在 try-catch 块之后执行,无论是否有异常被抛出(和捕获)。

    【讨论】:

      【解决方案3】:

      throw 语句用于在程序执行过程中发出异常情况(异常)的信号。通常 throw 语句与 try-catch 或 try-finally 语句一起使用。当抛出异常时,程序会查找处理该异常的 catch 语句。

      finally 块可用于清理在 try 块中分配的任何资源,以及运行任何必须执行的代码,即使出现异常也是如此。不管 try 块如何退出,控制总是传递给 finally 块。

      投掷:http://msdn.microsoft.com/en-us/library/1ah5wsex(v=vs.80).aspx

      最后:http://msdn.microsoft.com/en-us/library/zwc8s4fz(v=vs.80).aspx

      【讨论】:

        【解决方案4】:

        您可以在这里找到很多信息:

        http://msdn.microsoft.com/en-us/library/ms173160(v=vs.80).aspx

        异常具有以下属性:

        • 当您的应用程序遇到异常情况时,例如被零除或内存不足警告,就会生成异常。
        • 在可能引发异常的语句周围使用 try 块。
        • 一旦 try 块中发生异常,控制流会立即跳转到关联的异常处理程序(如果存在)。
        • 如果不存在给定异常的异常处理程序,程序将停止执行并显示错误消息。
        • 如果 catch 块定义了异常变量,您可以使用它来获取有关所发生异常类型的更多信息。
        • 使用 try 关键字执行可能导致异常的操作。
        • 异常处理程序是发生异常时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。
        • 程序可以使用 throw 关键字显式生成异常。
        • 异常对象包含有关错误的详细信息,包括调用堆栈的状态和错误的文本描述。
        • 即使抛出异常也会执行 finally 块中的代码,从而允许程序释放资源。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-05
          • 2022-01-01
          • 2016-01-07
          • 2010-12-29
          • 2014-09-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多