微风物语007 2019-11-23 10:21 采纳率: 0%
浏览 579

Exception.printStackTrace返回自定义异常的toString的信息

图片说明
图片说明
图片说明
大佬看下,为啥最后打印e.printStackTrace();打印出来的是“自定义的异常toString”,不是应该打印“亲"+name+"已经被注册了!”吗图片说明图片说明
看源码也没看明白,Throwable中的this是谁的对象啊,为啥转String之后就变成了“ExcpetionTest.CustomException: 自定义的异常toString”。
初始化的时候也没看见获取重写的那两个方法的相关代码,这俩重写的方法返回值是什么时候过去的?怎么过去的?

  • 写回答

2条回答 默认 最新

  • Json-Huang 2019-11-23 11:26
    关注

    throw new CustomException("亲"+name+"已经注册了");其实相当于break;跳出循环,最终还是会执行CustomException重写的toString方法,可以试试把
    下面的注释掉看看结果,可以调试看看执行顺序。

    //    public  String getMessage(){
    //        return "自定义的异常getMessage";
    //    }
    //
    //    public  String toString(){
    //        return "自定义的异常toString";
    //    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题