`
fp_moon
  • 浏览: 981650 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

try...catch...finally

阅读更多

 关键字;在它们所包括的代码块内,如果发生错误,将对错误进行响应。如果 try 代码块内的任何代码抛出了一个错误(使用 throw 动作),控制将传递到 catch 代码块(如果有),然后传递到 finally 代码块(如果有)。无论是否有错误被抛出,finally 代码块都会执行。如果 try 代码块内的代码未抛出错误(也就是说,如果 try 代码块正常完成),则仍会执行 finally
代码块内的代码。即使 try 代码块使用 return 语句退出,finally 代码块仍会执行。

*catch 中抛出的异常要在finally执行完才会执行抛出的动作,所以如果在finally中使用return后catch 中抛出的异常,就没办法抛出去,演示代码:

@SuppressWarnings ( "finally" )
public static int testException () throws Exception{
try {
System. out .println( "111111111" );
throw new Exception( "@@@@" );
} catch (Exception e){
System. out .println( "2222222222" );
System. out .println(e.getMessage());
throw new Exception( "~~~~~~~~~~~~" );
} finally {
System. out .println( "333333333" );
return 1;
}
}
public static void main(String[] args) {
try {
testException();
} catch (Exception e){
System . out .println(e.getMessage());
}
}

======================

try 代码块后面必须跟有 catch 代码块、finally 代码块,或两者都有。一个 try 代码块可以有多个 catch 代码块,但只能有一个 finally 代码块。您可以根据需要嵌套多层try 代码块(层数没有限制)。

 catch 处理函数内指定的 error 参数必须为一个简单的标识符,例如,e theException  x。您还可以为 catch 处理函数中的变量指定类型。如果指定了不同的错误类型,再结合使用多个 catch 代码块,可以捕获从一个 try 代码块抛出的多种类型的错误。

抛出的异常是对象时,如果抛出的对象是指定类型的一个子类,则类型将匹配。如果抛出的是特定类型的错误,将执行处理相应错误的 catch 代码块。如果抛出的不是指定类型的异常,则不会执行 catch 代码块,而会自动将该异常从 try 代码块抛出到与其相匹配的 catch 处理函数。

如果在某个函数内抛出了错误,而该函数中没有 catch 处理函数,则动作脚本解释器退出该函数以及任何调用函数,直到找到一个 catch 代码块。在此过程中,在各层上都会调用 finally 处理函数。

分享到:
评论

相关推荐

    try...catch...finally语句的相关案列

    try...catch...finally语句的相关案列

    Java异常处理之try...catch...finally详解

    Java异常处理之try...catch...finally详解 Java异常处理机制是判断一门编程语言是否成熟的标准之一,对代码的健壮性有很大影响。Java语言为异常处理提供了丰富的异常类,这些类之间有严格的继承关系。所有的类都是...

    trycatch.zip

    本示例中的"trycatch.zip"文件内容就是展示了如何在Golang中模拟`try...catch`和`try...catch...finally`。 Golang的核心错误处理方式是通过返回错误值。通常,函数会返回一个错误值,如果在执行过程中遇到问题,就...

    理解javascript中try...catch...finally

    主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下

    17.javatry…catch…finally语句.zip

    17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句.zip17.javatry…catch…finally语句...

    js实践篇:例外处理Try{}catch(e){} 1

    本文将深入探讨JavaScript中的异常处理机制,包括Error对象、自定义异常以及try...catch...finally语句的用法。 一、异常处理概念 在JavaScript运行时,如果发生如数组索引越界、类型不匹配或语法错误等错误,解释...

    异常处理例子,try...catch,C#源代码,和大家分享

    C#语言提供了强大的异常处理框架,其中`try...catch`语句块是最核心的部分。本篇将深入探讨`try...catch`在C#中的应用以及相关知识点。 异常(Exception)是在程序运行时发生的问题,可能是由于非法操作、资源不足...

    js中的异常处理try...catch使用介绍.docx

    `try...catch`语句用于捕获和处理可能发生的错误,防止程序因未预期的错误而崩溃。下面将详细介绍`try...catch`的工作原理和使用方式。 首先,`try`块是包含可能会引发错误的代码的区域。当在`try`块中的代码执行时...

    使用Try ... Catch ...,最后!

    通过阅读 "Using-Try-Catch-Finally.pdf" 和解压 "UsingTryCatchFinally.zip" 文件,你可以找到更多示例和详细的实践指南,帮助你更深入地理解这两个错误处理和资源管理的结构。在实际开发中,熟练掌握这些概念可以...

    try 与 catch finally关键字

    Java的 try 与 catch finally关键字的使用

    使用try-catch-finally处理异常

    你还可以在`try-catch-finally`结构内部嵌套另一个`try-catch-finally`结构,以处理更复杂的情况。这种方式使得异常处理更加灵活,能够针对不同层次的异常进行分别处理。 6. **throw和throws关键字** `throw`...

    Java异常处理之try...catch...语句的使用进阶

    `finally`块是`try...catch`结构的一部分,它的作用是确保无论是否发生异常,某些代码都会被执行。这通常用于清理资源,如关闭打开的I/O流。然而,直接在`finally`块中关闭流可能会遇到问题,如当流的初始化在`try`...

    Try Catch对效能的影响测试

    在VB.NET编程中,`Try...Catch`语句块是一个重要的异常处理机制,它用于捕获和处理程序运行时可能出现的错误。这个测试是针对`Try...Catch`块对程序性能影响的一个研究,旨在理解在代码中使用异常处理时可能产生的...

    Power builder9异常处理

    然而,上述方法只能处理部分预知的错误,对于不可预知的异常,PB9 提供了 `TRY...CATCH...FINALLY...END TRY` 结构,类似于其他编程语言的异常处理机制。这个结构允许开发者定义一段可能抛出异常的代码(在 `TRY` 块...

    详解JavaScript中的异常处理方法

    在JavaScript中,主要的异常处理方法包括try...catch语句,throw语句以及finally子句的使用。异常处理机制能够在程序运行期间遇到错误时,提供一种控制错误处理流程的途径。 在JavaScript编程中,错误可以分为三大...

    java异常有关的习题.docx

    try...catch...finally 结构可以有多个 catch 块,也可以没有 catch 块,但 finally 块是可选的。 -非受检异常- 下列属于非受检异常的是哪项?答案是 C.NullPointerException。非受检异常是编译器不会检查的异常...

    JavaScript中的异常捕捉介绍

    JavaScript中的异常处理机制是通过`try...catch...finally`语句来实现的,它允许开发者在代码中捕获并处理可能出现的错误。这个机制与Java类似,但有一些关键的差异。 首先,`throw`语句在JavaScript中可以抛出任何...

    try-catch-finally捕获异常

    try-catch-finally捕获异常 try-catch-finally语句是Java语言中一种常用的异常处理机制,当程序在执行过程中出现异常时,可以使用try-catch-finally语句来捕获和处理异常。下面将详细介绍try-catch-finally语句的...

    C#中try...catch的使用与常见面试题分享

    `try...catch`结构是C#中处理异常的标准方式,它允许我们捕获并处理可能出现的异常,保证程序的稳定运行。本文将深入探讨`try...catch`的使用及其在面试中的常见问题。 首先,`try...catch`的基本语法如下: ```...

    try_catch_finally异常处理java

    视频资源`fianlly_catch_finally.avi.avi`可能包含了演示如何在实际项目中应用这些概念的实例。通过观看这个视频,学习者可以更直观地理解`try-catch-finally`的工作机制,看到异常是如何被抛出、捕获和处理的。 总...

Global site tag (gtag.js) - Google Analytics