Java Throwable initCause()方法与示例

Throwable类initCause()方法 (Throwable Class initCause() method)

  • initCause() Method is available in java.lang package.

    initCause()方法在java.lang包中可用。

  • initCause() Method is used to instantiate the cause of this throwable to the given value and this method is invoked within the constructor immediately after that we throw a throwable object.

    initCause()方法用于将此throwable的原因实例化为给定值,并且在我们抛出throwable对象之后立即在构造函数中调用此方法。

  • initCause() Method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    initCause()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • initCause() Method may throw an exception at the time of initializing cause.

    initCause()方法可能会在初始化原因时引发异常。

    • IllegalArgumentException – This exception may throw when the given argument is this object.IllegalArgumentException-如果给定参数是此对象,则可能引发此异常。
    • IllegalStateException – This exception may throw when the given argument was created with throwable or when this method called already on this throwable.IllegalStateException-当使用throwable创建给定参数时,或者在此throwable上已调用此方法时,可能会抛出此异常。

Syntax:

句法:

    public Throwable initCause(Throwable caus);

Parameter(s):

参数:

  • Throwable caus – represents the cause it retrieve by using getCause() method and if it returns null then cause is non-existent or not known.

    可抛出的原因-表示使用getCause()方法检索的原因,如果返回null,则原因不存在或未知。

Return value:

返回值:

The return type of the method is Throwable, it returns reference to this "Throwable" object.

方法的返回类型为Throwable ,它返回对此“ Throwable”对象的引用。

Example:

例:

// Java program to demonstrate the example 
// of Throwable initCause(Throwable caus)
// method of Throwable 

public class InitCause {
    public static void main(String args[]) throws Exception {

        try {
            // calling div() method
            div(100, 0);
        } catch (ArithmeticException ex) {
            // Display the exception cause why it is
            //thrown
            System.out.println("Exception Cause:" + ex.getCause());
        }

    }

    // This method divide two numbers and will
    // throw an exception
    public static void div(int d1, int d2) throws Exception {
        try {
            int res = d1 / d2;
        } catch (ArithmeticException ex) {

            // creating an exception
            ArithmeticException ae = new ArithmeticException();

            // instantiate exception cause by using
            //initCause() method
            ae.initCause(ex);

            // throw an exception with its cause
            throw (ae);
        }
    }

}

Output

输出量

Exception Cause:java.lang.ArithmeticException: / by zero


翻译自: https://www.includehelp.com/java/throwable-initcause-method-with-example.aspx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值