Throwable initCause()方法

JAVA 专栏收录该内容
27 篇文章 0 订阅

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:

例:

 
  1. // Java program to demonstrate the example

  2. // of Throwable initCause(Throwable caus)

  3. // method of Throwable

  4. public class InitCause {

  5. public static void main(String args[]) throws Exception {

  6. try {

  7. // calling div() method

  8. div(100, 0);

  9. } catch (ArithmeticException ex) {

  10. // Display the exception cause why it is

  11. //thrown

  12. System.out.println("Exception Cause:" + ex.getCause());

  13. }

  14. }

  15. // This method divide two numbers and will

  16. // throw an exception

  17. public static void div(int d1, int d2) throws Exception {

  18. try {

  19. int res = d1 / d2;

  20. } catch (ArithmeticException ex) {

  21. // creating an exception

  22. ArithmeticException ae = new ArithmeticException();

  23. // instantiate exception cause by using

  24. //initCause() method

  25. ae.initCause(ex);

  26. // throw an exception with its cause

  27. throw (ae);

  28. }

  29. }

  30. }

Output

输出量

Exception Cause:java.lang.ArithmeticException: / by zero
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

wyb_Super

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值