`
winse
  • 浏览: 94598 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

finally抛出异常

 
阅读更多

问题: http://www.iteye.com/problems/77232

 

抛出异常:finally中的异常会先于try中的异常。

 

	public static void test11() {
		try {
			System.out.println("try");
			int i = 1 / 0;
		} finally {
			String s = null;
			s.length();
			System.out.println("finally");
		}
		System.out.println("end");
	}

	public static void test11_1() {
		try {
			test11();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 

这段代码捕获到的异常是:

try
java.lang.NullPointerException

 如果去掉String s部分,抛出的异常是:

try
finally
java.lang.ArithmeticException: / by zero

 

 

事务提交,trycatch写法:

http://wenku.baidu.com/view/17e2f56c1eb91a37f1115ca4.html第4页

 

Connection conn = null;

try{

conn = getConnection();

conn.setAutoCommit(false);

// do something

conn.commit();

}catch(Exception e){

conn.rollback();

// do sth

}finally{

try{

conn.close();

}catch(SQLException e){

// do sth.

}

//...

}

分享到:
评论

相关推荐

    方法抛出的异常处理 (2)修改UserDaoImp1类,要求用户id不能修改,修改则抛出异常 使用log4j输出日志信息

    1.需要完成的任务 使用UserDaoImp1类和User...(2)为了判断在finally块输出是否抛出异常,可以设置一个变量,在catch块里修改这个变量 实践四:使用log4j 需求说明 (1)使用log4j输出日志信息 (2)查看输出日志信息

    Java 自定义异常和抛出异常

    自定义异常和抛出异常是Java异常处理机制的重要组成部分,它们允许开发者更精细地控制程序的错误处理流程。本篇文章将深入探讨这两个概念。 首先,让我们了解什么是自定义异常。Java提供了一套内置的异常类,如`...

    c#异常含异常格式,抛出异常和自定义异常

    总结一下,C#中的异常处理是通过异常格式(包括try-catch-finally结构)、抛出异常(使用`throw`关键字)和自定义异常(继承自`Exception`类)来实现的。掌握这些技巧,可以帮助我们在编写代码时更好地应对可能出现...

    java throw抛出异常实例一

    异常处理通过`try-catch-finally`块来实现,其中`try`块包含可能抛出异常的代码,`catch`块捕获并处理异常,`finally`块则包含无论是否发生异常都需要执行的代码。 在`throw`语句中,我们可以指定一个异常对象来抛...

    dotnet C# 在 finally 抛异常会发生什么.rar

    本文将深入探讨C#中`finally`块的行为,特别是当它在执行过程中抛出异常时的情况。这个话题对于理解C#异常处理机制及其对程序流程的影响至关重要。 在C#中,`try-catch-finally`结构用于异常处理。`try`块包含可能...

    java throw抛出异常实例二

    在上述示例中,我们捕获了`IllegalArgumentException`并打印出异常消息。`e.printStackTrace()`方法用于打印异常发生时的堆栈跟踪,这对于调试非常有用,因为它显示了异常发生的确切位置和调用栈。 Java的异常处理...

    抛出异常的事例

    如果`toantitone`方法抛出异常,`main`方法中的`catch`块会捕获它,并通过`e.printStackTrace()`打印堆栈跟踪,帮助调试。`finally`块确保无论是否发生异常,都会执行一段代码(在这里是打印"over")。 `toantitone...

    实现Java异常抛出和处理

    `try`块包含可能抛出异常的代码,`catch`块用来捕获并处理异常,而`finally`块则包含无论是否发生异常都需要执行的代码: ```java try { // 可能抛出异常的代码 } catch (ExceptionType1 e1) { // 处理Exception...

    Java异常处理-throw手动抛出异常对象

    // 这里抛出异常后,后面的代码不会执行了 } } public class Test { public static void main(String[] args) { Student s = new Student(); s.regist(-1); // 调用regist方法,传入负数 } } 情况2 2、手动抛普通的...

    java异常处理机制示例(java抛出异常、捕获、断言)

    1. **try** 关键字:用于包围可能抛出异常的代码块。当try块中的代码抛出一个异常时,控制权会立即转移到与之匹配的catch块。 2. **catch** 关键字:用于捕获try块中抛出的异常。你可以有多个catch块来捕获不同类型...

    Java抛出异常.pdf

    - `finally`块包含在`try-catch`结构中,无论是否抛出异常,`finally`块的代码都会被执行,常用于释放资源。 通过合理的异常处理,Java程序员能够更好地控制程序流程,确保程序在遇到错误时优雅地终止,而不是突然...

    jni方法里面抛出异常

    2. **异常处理**:在Java中,异常处理是通过try-catch-finally语句块实现的,而在C/C++中,错误通常通过返回错误码或抛出异常来表示。JNI中,Java的异常机制无法直接应用于本地代码,因此需要特殊处理。 3. **JNI中...

    c/vc++/MFC异常处理/结构化异常处理 浅析

    MFC对C++的异常处理进行了封装,提供了AfxThrowException、AfxThrowMemoryException等函数,便于在MFC环境中抛出异常。MFC的CException类是所有MFC异常的基类,可以派生出各种特定类型的异常。在MFC应用中,通常会在...

    使用try-catch-finally处理异常

    `finally`块是可选的,无论`try`和`catch`块中的代码是否抛出异常,`finally`块里的代码都会被执行。这通常用于资源清理,如关闭文件流、网络连接等。即使在`try`或`catch`块中有return语句,`finally`块的代码也会...

    dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量.rar

    - 即使构造函数抛出异常,`finally`块仍然会被执行,这在清理资源(如关闭文件流、释放网络连接等)时非常有用。 - 如果类实现了`IDisposable`接口,确保在构造函数抛出异常后正确处理资源,可以使用`Dispose()`...

    JAVA抛出异常的实验.doc

    3. **Finally块**:无论`try`块是否抛出异常,`finally`块都会被执行。在这个例子中,`finally`块中也包含了一个`return`语句,返回值为`20`。 **结论**:无论是否有异常发生,`finally`块总是最后执行的。因此,在...

    (完整版)Java程序设计任务驱动式教程-任务十四-主动出击(抛出异常).ppt

    在任务十四“主动出击(抛出异常)”中,主要讲述了如何在Java程序中主动抛出异常以及声明和处理异常。 1. **抛出异常**: - 在Java中,如果遇到不符合预期的情况,可以使用`throw`关键字抛出一个异常对象。例如,...

    try_catch_finally异常处理java

    当Java执行到可能抛出异常的代码行时,如果确实发生了异常,那么控制权就会立即转移到与之关联的`catch`块。 `catch`块是用来捕获和处理异常的地方。每个`catch`块都对应一个特定的异常类或者异常类的父类,这样就...

    实验五 Java异常处理实验.docx

    抛出异常是指程序中出现错误时,抛出异常对象,以便于捕获和处理异常。捕获异常是指使用 catch 语句捕获抛出的异常对象,并进行相应的处理。 实验代码 ```java class Example1 { static void method() { int a = ...

    C#中抛出异常用法实例

    总结来说,C#中的异常处理机制提供了优雅的方式来处理运行时错误,通过`throw`关键字可以抛出异常,结合`try-catch-finally`结构进行捕获和处理。了解并熟练掌握这些用法,有助于编写健壮且易于维护的代码。

Global site tag (gtag.js) - Google Analytics