假设你正在运行一个程序,
并且它符合“THROW”声明......会发生什么?程序会停止吗?会继续吗?
“终于”是为了什么?
请我用简单的话来解释
假设你正在运行一个程序,
并且它符合“THROW”声明......会发生什么?程序会停止吗?会继续吗?
“终于”是为了什么?
请我用简单的话来解释
如果程序遇到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 块中的代码也会执行,从而允许程序释放资源。