Java 中可抛出的 addSuppressed()方法,示例
原文:https://www . geesforgeks . org/throwable-addsuppressed-method-in-Java-with-examples/
添加抑制?(可抛出异常)可抛出类的方法,用于将异常附加到为了传递该异常而被抑制的异常。这个方法是线程安全的方法。此方法通常由 try-catch 子句调用。除非通过构造函数禁用,否则可投掷对象的抑制行为是启用的。当抑制被禁用时,此方法除了验证其参数之外什么也不做。 在 try-finally 块的默认行为中,我们有两个异常,原始异常被抑制,来自 finally 块的异常被显示。在某些情况下,使用 finally block 来关闭资源,在这种情况下,我们希望看到原始异常,以及来自 finally block 的一些异常,这些异常关闭了我们的资源并失败了,因此我们可以添加那些通过此方法抑制的异常。 如果有多个兄弟异常,并且只能传播一个,那么这个方法可以用来传播那个方法。 语法:
public final void addSuppressed?(Throwable exception)
参数:这个方法只接受一个参数异常,我们想把它作为一个被抑制的异常加入。 返回:此方法不返回任何内容。 异常:此方法抛出以下异常:
- IllegalArgumentException:如果这个异常是可抛出的;可投掷的不能抑制自己。
- NullPointerException:如果异常为 null。
下面的程序说明了添加抑制?()方法: 例 1:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to demonstrate
// the addSuppressed() Method.
import java.io.*;
class GFG {
// Main Method
public static void main(String[] args)
throws Exception
{
try {
testException();
}
catch (Throwable e) {
// get StackTraceElements
Throwable[] suppExe
= e.getSuppressed();
// print element of suppExe
for (int i = 0; i < suppExe.length; i++) {
System.out.println("Suppressed Exceptions:");
System.out.println(suppExe[i]);
}
}
}
// method which throws Exception
public static void testException()
throws Exception
{
// creating a suppressed Exception
Exception
suppressed
= new ArithmeticException();
// creating a IOException object
final Exception exe = new Exception();
// adding suppressed Exception
// using addSuppressed method
exe.addSuppressed(suppressed);
// throwing IOException
throw exe;
}
}
Output:
Suppressed Exceptions:
java.lang.ArithmeticException
版权属于:月萌API www.moonapi.com,转载请注明出处