假设你正在运行一个程序,
它符合"投掷"声明...会发生什么?该计划会停止吗?还会继续吗?
"终于"有什么用?
请我欣赏简单的话解释
如果程序对指令throw
,它将抛出异常。
您的应用程序是停止还是继续运行取决于您是否使用catch
指令来处理该异常。
相反,引入finally
是为了保证在该块内执行包含的代码,无论是否抛出异常。
请参阅此处的 MSDN 文档:http://msdn.microsoft.com/en-us/library/1ah5wsex.aspx
简而言之,throw
提出了一个例外。如果你在一个try-catch块中,那么它将被捕获,否则你的程序可能会崩溃。
finally
块在try-catch
块之后执行,无论是否存在抛出(和捕获)的异常。
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
你可以在这里找到很多信息:
http://msdn.microsoft.com/en-us/library/ms173160(v=vs.80).aspx
异常具有以下属性:
- 当应用程序遇到异常情况(如除以零或内存不足警告)时,将生成异常。
- 在可能引发异常的语句周围使用 try 块。
- 一旦 try 块中发生异常,控制流会立即跳转到关联的异常处理程序(如果存在)。
- 如果给定异常不存在异常处理程序,程序将停止执行并显示错误消息。
- 如果 catch 块定义了异常变量,则可以使用它来获取有关发生的异常类型的详细信息。
- 可能导致异常的操作使用 try 关键字执行。
异常- 处理程序是在发生异常时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。
- 异常可以由程序使用 throw 关键字显式生成。
- 异常对象包含有关错误的详细信息,包括调用堆栈的状态和错误的文本说明。
- finally 块中的代码即使抛出异常也会执行,从而允许程序释放资源。