现有下面两段异常处理的方式
1:
class A{
public void funcOfA() throws Exception{
try{
/* 此方法可能抛出异常ExceptionTypeB,
* ExceptionTypeC,ExceptionTypeD等等
*/
funcTest();
}catch(ExceptionTypeB eb){
//忽略ExceptionTypeB异常不作处理
}catch(Exception e){
//对于非ExceptionTypeB异常进行抛出处理
throw e;
}
}
}
class B{
public void funcOfB(){
A a = new A();
try{
a.funcOfA();
}catch(Exception e){
//此处的e异常是否是非ExceptionTypeB异常
//直接进行异常处理
}
}
}
2:
class A{
public void funcOfA() throws Exception{
/* 此方法可能抛出异常ExceptionTypeB,
* ExceptionTypeC,ExceptionTypeD等等
*/
funcTest();
}
}
class B{
public void funcOfB(){
A a = new A();
try{
a.funcOfA();
}catch (ExceptionTypeBe b){
//忽略ExceptionTypeB异常,不进行处理
}catch(Exception e){
//直接进行异常处理
}
}
}
比较1和2两种异常处理模式,发现结果差异很大。
其中方式2得到的结果是想要的结果。
方式1结果有问题。
哪位大侠能解惑。不胜感激!!!
分享到:
相关推荐
* 异常处理的主要步骤是:抛出异常(throw) -> 捕捉异常(catch) -> 处理异常(finally)。 三、异常类的继承关系 * `Throwable` 是所有异常类的父类。 * `Error` 和 `Exception` 是 `Throwable` 的两个子类。 *...
Java 异常处理的设计原则是指在设计时把那些有可能发生异常情况的语句放在 try 块中,通过该语句块来打开 Java 的处理异常机制,然后检查有可能出现错误的程序代码。若异常条件满足,异常将被抛出,原程序流程在此...
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
在本实验中,你会学习如何在代码中使用`try-catch-finally`结构来处理异常,并结合log4j进行日志记录。这包括设置log4j配置文件,创建Logger对象,以及在不同日志级别下记录信息。理解这些基本操作后,你将能够更好...
`try`块用于包含可能会抛出异常的代码,`catch`块用于捕获并处理异常,`finally`块确保在任何情况下都会执行的代码,无论是否发生异常。`throw`用于手动抛出一个异常,而`throws`则用于声明方法可能抛出的异常。 1....
在这个过程中,Java使用了try-catch语句块来捕获和处理异常。通过在一个或多个catch语句块中处理所有可能抛出的异常,可以实现全局异常统一处理。 例如,在Spring框架中,使用@ControllerAdvice和@ExceptionHandler...
* 异常处理机制策略:使用 Java 异常处理机制来处理异常。 五、结论 合理完备的 Java 异常处理可以增强程序运行的可靠性、提高软件的健壮性,可以较为快速地确定错误的位置。编程人员可以根据实际情况选择合适的 ...
此文档主要讲解了java异常处理的基本问题,适合初学者,比较详细,有范例,有讲解.
- 捕获(Catching):当异常发生时,程序会尝试通过`try-catch`块来捕获并处理异常。 - 抛出(Throwing):当遇到无法正常处理的情况时,可以使用`throw`关键字抛出一个异常。 - 异常处理链(Exception Chaining...
如果一个方法没有处理异常,但知道可能会抛出异常,可以使用`throws`声明。例如: ```java public int divide(int a, int b) throws ArithmeticException { return a / b; } ``` 5. `throw`关键字和自定义异常 `...
简单,易懂的方式讲解C++与java异常处理的方法,两者的异同
try 语句块用于捕获异常,catch 语句块用于处理异常。例如: ```java try { // 可能出现异常的代码 } catch (Exception e) { // 异常处理代码 } ``` Java 异常处理也可以通过 throws 语句来实现。throws 语句用于...
* Try-Catch 语句:这是一种常用的异常处理方法,使用 try 语句来捕捉异常,并使用 catch 语句来处理异常。 * Throw 语句:这是一种抛出异常的方法,使用 throw 语句来抛出异常。 * Finally 语句:这是一种用来释放...
Java使用`try-catch-finally`结构来处理异常。`try`块包含可能会抛出异常的代码,`catch`块用于捕获并处理特定类型的异常,`finally`块确保无论是否发生异常,某些代码(如资源清理)都会被执行。 ```java try {...
Java异常处理通过try-catch-finally语句块实现,try块包含可能抛出异常的代码,catch块捕获并处理异常,finally块确保某些代码(如资源释放)始终执行。 二、Java异常体系 1- Throwable 所有异常的顶级父类是java....
try 语句块中可能会抛出异常,而 catch 语句块中则用于捕获和处理异常。 在 Java 中,输入输出是通过 IO 流来实现的。IO 流是 Java 中的一种机制,用于实现输入输出操作。IO 流可以分为两种:输入流和输出流。输入...
Java 异常处理机制包括抛出异常、捕获异常和处理异常等。 抛出异常是指在方法中throws语句抛出异常,例如throws IOException。捕获异常是指使用try-catch语句捕获异常,例如try { ... } catch (IOException e) { .....
什么时间使用runtimeException,什么时间使用Exception,大家有没有被困扰到?经整理,JAVA异常处理框架,以及如何构造自己的异常体系,讲得比较详细,值得一看。
这个Java异常处理教程将通过实例和详细解释,帮助你掌握这些概念,并提升你在实际项目中处理异常的能力。通过学习,你将能够编写出更加健壮和可靠的Java代码。记得查看提供的视频教程资源,它将为你提供更直观的学习...