`
wandejun1012
  • 浏览: 2737298 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于异常上抛

    博客分类:
  • java
 
阅读更多

原理:异常在底层被拦截了,将不会上抛至上层。

 

如以下示例,A调用B的方法,B方法会出错,我在B中已拦截了,那么在A中将看拦截不到异常。

 

 

 

 

B代码:

package testexceptionthrows;

public class B {
	public void go() throws Exception{
		try {
			System.out.println("B.go()......");
			int a=3/0;
		} catch (Exception e) {
			System.err.println("被B捕捉,在B中发生异常!");
			//throw e;
		}
	}
}

 

A代码:

package testexceptionthrows;

import junit.framework.TestCase;

public class A extends TestCase {

	
	B b=new B();
	public void testRun(){
		try {
			b.go();
		} catch (Exception e) {
			System.err.println("A中捕捉,B中遇到异常了");
			e.printStackTrace();
		}
	}
	
	
}

 

 

所以,如果想在最上层拦截到所有异常,应该让下面的在try catch后,全部throws出来,如A中注释掉的部分。

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    关于在SQL中抛出异常的写法

    在SQL编程中,正确地抛出异常是调试和错误处理的关键环节。这使得开发者能够捕获并处理程序运行中的问题,特别是在复杂的存储过程和触发器中。本篇将详细讲解如何在SQL中抛出异常,以及它在报表开发中的应用。 SQL...

    Java 自定义异常和抛出异常

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

    C++ 异常类 抛出与捕获异常

    本篇将深入探讨C++中的异常类,以及如何抛出和捕获异常,以实现稳健的代码。 首先,C++的异常处理基于三个关键字:`try`、`catch` 和 `throw`。`try` 块用来包含可能抛出异常的代码,`catch` 块用于捕获并处理这些...

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

    通过自定义异常,我们可以提供更具上下文的错误信息,帮助调试和问题定位。 总结一下,C#中的异常处理是通过异常格式(包括try-catch-finally结构)、抛出异常(使用`throw`关键字)和自定义异常(继承自`Exception...

    抛出异常代码示例

    虽然提供的部分内容并没有直接包含异常抛出的代码示例,但从上下文推测,这部分内容可能与一个简单的数组访问示例有关。例如,一个数组初始化的过程如下: ```java int[] array = new int[10]; for (int i = 0; i ;...

    异常类型及版本,抛出IndexOutOfRangeException类型异常,抛出InvalidOperationException类型异常,抛出InvalidOperationException类型异常,抛出InvalidOperationException类型异

    异常类型及版本,抛出IndexOutOfRangeException类型异常,抛出InvalidOperationException类型异常,抛出InvalidOperationException类型异常,抛出InvalidOperationException类型异 常,C#源代码

    异常捕获与抛出的问题,什么时候应该try,什么时候应该throws

    "异常捕获与抛出的问题,什么时候应该try,什么时候应该throws" 在 Java 中,捕获异常和抛出异常是两种不同的机制,分别用于处理不同的异常场景。 捕获异常(try-catch) 捕获异常是指在方法内部使用 try-catch ...

    java throw抛出异常实例二

    `throw`关键字在Java中被用来显式地抛出一个异常。当我们遇到一个预期之外的情况,或者某些条件不满足时,可以使用`throw`来中断当前的执行流程,并将控制权转移到能够处理这种情况的代码块。下面我们将详细讨论`...

    实现Java异常抛出和处理

    如果一个方法可能抛出异常但不处理,那么该方法必须声明它可能会抛出的异常,这样调用这个方法的代码就必须处理这些异常: ```java public void readFile(String filePath) throws IOException { File file = new ...

    抛出异常的事例

    当`CalculatedNum()`方法抛出异常时,`catch`块捕获它,并打印出异常消息。这样,程序不会因为未处理的异常而突然终止,而是按照预定的方式进行错误处理。 接下来,我们看第二个例子,`TestException`类。这个类有...

    C++ 异常抛出实例

    C++ 异常抛出实例: 用代码详细阐述异常抛出的具体过程。

    java异常抛出

    一个java抛出异常的小Demo 手动抛出 并处理

    java throw抛出异常实例一

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

    检测程序异常关闭或抛出异常窗口 关闭程序并重新打开

    在IT领域,程序异常关闭或抛出异常窗口是常见的问题,这可能由多种原因引起,如内存泄漏、代码错误、系统资源不足等。为了解决这类问题,我们需要采取一系列的故障排查和处理策略。 首先,我们需要理解“检测程序...

    抛出异常截图

    抛出异常截图抛出异常截图抛出异常截图

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

    (1)对空的User类对象调用getUserInfo()方法抛出的异常处理 (2)修改UserDaoImp1类,要求用户id不能修改,修改则抛出异常 (3)使用log4j输出日志信息 2.技能训练 (1)会使用try-catch-finally捕获和处理异常 ...

    析构函数不能抛出异常的原因

    综上所述,C++标准中关于析构函数不能抛出异常的规定是从多个角度出发,旨在确保程序的资源管理更加安全可靠,同时也能提高程序的稳定性和性能。对于C++程序员而言,理解并遵循这一规则是非常重要的。

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

    在本例中,无论`TryCatchTest.run`是否抛出异常,"最后他们过上了幸福的生活!!!!(完)"都会被打印出来,显示finally块的作用。 除了这些基础概念,日志记录也是异常处理的重要部分。在`LogerTest`类中,使用了...

    C++抛出异常技巧讲解

    C++语言与其他编程语言一样,其中也包含有关于异常的处理。我们在这里将会为大家详细讲解一下有关C++抛出异常的实现方法,及异常的应用方式。希望大家可以从中获得些帮助,以提高对此的理解程度。

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

    // 调用regist方法,传入负数 } } 情况2 2、手动抛普通的异常 如果需要抛出一个非运行时异常,比如自定义异常,我们需要创建一个继承自Exception的类,然后在适当的地方抛出这个异常。例如:public class ...

Global site tag (gtag.js) - Google Analytics