http://hi.baidu.com/vincentwen/blog/item/b92d0923f1e4c64793580757.html
try
catch
finally
1、将预见可能引发异常的代码包含在try语句块中。
2、如果发生了异常,则转入catch的执行。catch有几种写法:
catch
这将捕获任何发生的异常。
catch(Exception e)
这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。
catch(Exception的派生类 e)
这将捕获派生类定义的异常,例如,我想捕获一个无效操作的异常,可以如下写:
catch(InvalidOperationException e)
{
....
}
这样,如果try语句块中抛出的异常是InvalidOperationException,将转入该处执行,其他异常不处理。
catch可以有多个,也可以没有,每个catch可以处理一个特定的异常。.net按照你catch的顺序查找异常处理块,如果找到,则进行处理,如果找不到,则向上一层次抛出。如果没有上一层次,则向用户抛出,此时,如果你在调试,程序将中断运行,如果是部署的程序,将会中止。
如果没有catch块,异常总是向上层(如果有)抛出,或者中断程序运行。
3、finally
finally可以没有,也可以只有一个。无论有没有发生异常,它总会在这个异常处理结构的最后运行。即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。
注意:如果没有catch语句块,那么finally块就是必须的。
如果你不希望在这里处理异常,而当异常发生时提交到上层处理,但在这个地方无论发生异常,都要必须要执行一些操作,就可以使用try finally,
很典型的应用就是进行数据库操作:
用下面这个原语来说明:
try
{
DataConnection.Open();
DataCommand.ExecuteReader();
...
return;
}
finally
{
DataConnection.Close();
}
无论是否抛出异常,也无论从什么地方return返回,finally语句块总是会执行,这样你有机会调用Close来关闭数据库连接(即使未打开或打开失败,关闭操作永远是可以执行的),以便于释放已经产生的连接,释放资源。
顺便说明,return是可以放在try语句块中的。但不管在什么时机返回,在返回前,finally将会执行。
小结
try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 }
catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 }
finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }
分享到:
相关推荐
VB.NET 演示带Finally的Try Catch 异常处理用法演示,这个源码就是捕捉VB.NET运行错误的,结合了最常规的try catch组合,并且使用了Finally处理的情况,那么为什么要使用Finally呢?使用Finally的好处是,把资源释放...
总的来说,正确地使用`try-catch-finally`可以帮助我们编写出更加健壮的代码,能够优雅地处理异常,保持程序的稳定运行,并提供有价值的错误反馈,从而提高用户体验。理解并熟练掌握异常处理是每个IT专业人士必备的...
`try-catch-finally`语句块是C#中用于捕获和处理异常的关键结构。下面我们将详细解析这个语句块的用法,并通过实例来展示其功能。 1. `try`块: `try`块包含可能抛出异常的代码。当在`try`块内的代码执行过程中...
### Java中try-catch的用法详解 #### 一、基本概念 在Java编程语言中,`try-catch`结构是一种用于处理程序运行时可能出现的异常情况的重要机制。通过使用`try-catch`块,开发者可以更加精细地控制程序的行为,并...
Java try catch finally异常处理组合详解 Java try catch finally异常处理组합是Java语言中的异常处理机制,用于捕获和处理程序中的异常。下面对try catch finally异常处理组合进行详细的介绍。 try catch组合: ...
下面将详细介绍try-catch-finally语句的使用方法和注意事项。 一、try块 try块是try-catch-finally语句的核心部分,用于包装可能出现异常的代码。try块中的代码在执行时,如果出现异常,会被catch块捕获和处理。...
### try-catch 用法详解 #### 一、引言 ...理解并熟练掌握 `try-catch` 的使用方法对于每个开发者来说都是至关重要的。希望本文能够帮助读者更深入地了解 `try-catch` 机制,并在日常开发中灵活运用。
### try-catch 的用法与含义详解 在编程过程中,异常处理是确保程序稳定性和健壮性的关键环节之一。`try-catch` 结构作为异常处理的核心机制,在各种编程语言中广泛采用,如 Java、C# 和 JavaScript 等。本文将深入...
在实际编程中,`try-catch-finally`的使用有以下几点需要注意: 1. `catch`块的顺序:如果有多个`catch`块,应该将更具体的异常类型放在前面,因为一旦一个`catch`块捕获了异常,后续的`catch`块将不再执行。 2. ...
首先,我们需要了解 try、catch、finally 语句的基本用法。try 语句用于包装可能抛出异常的代码,catch 语句用于捕捉 try 语句中的异常,finally 语句用于执行一些清理工作,通常用于关闭资源、释放内存等操作。...
首先,让我们回顾一下`try-catch-finally`的基本用法。在C#中,`try`块用于包含可能会抛出异常的代码,`catch`块用于捕获和处理这些异常,而`finally`块则确保无论是否发生异常,都会执行一段代码,通常用于资源清理...
通过合理地使用`try-catch`,我们可以确保程序在遇到问题时不会无端崩溃,而是能够适当地恢复或向用户报告错误。在实际项目中,结合使用`finally`块和`throws`声明,可以创建出具有高度容错能力的系统。
在编程语言中,异常处理是确保程序稳定性和健壮性的重要...这些文件可能包含了具体的示例,演示了如何在不同情况下使用 `try-catch-finally` 结构以及 `return` 语句,从而帮助开发者更好地理解和掌握这一关键概念。
下面我们将详细讨论这个结构的工作原理和使用方法。 ### 1. `try` 块 `try`块是用来包含可能抛出异常的代码的部分。当`try`块中的代码发生异常时,控制流会立即跳转到与之匹配的`catch`块。 ```java try { // ...
- 注意区分大小写,try、catch、finally都是保留字,必须使用小写。 - try catch不应该用于处理正常的控制流程,即不应该用它来替代正常的条件判断结构。 - 如果在catch块内部抛出了新的错误,或者有未捕获的错误...
主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下
Java异常处理机制及实现方法主要依赖于try、catch、finally、throw和throws这五个关键字。Try关键字后跟一个花括号栝起的代码块(即使该代码块只有一行也不能省略花括号),简称try块。Catch对应异常类型和代码块,...
1. **异常处理策略**:不要在每个函数中都使用 Try…Catch,而应该在最外层或适当的位置使用。如果内部函数捕获了异常,但还需要将异常信息传递给调用者,那么不应在内部 Catch,而是应重新抛出异常(如 `throw;` 或...