大佬看下,为啥最后打印e.printStackTrace();打印出来的是“自定义的异常toString”,不是应该打印“亲"+name+"已经被注册了!”吗
看源码也没看明白,Throwable中的this是谁的对象啊,为啥转String之后就变成了“ExcpetionTest.CustomException: 自定义的异常toString”。
初始化的时候也没看见获取重写的那两个方法的相关代码,这俩重写的方法返回值是什么时候过去的?怎么过去的?
Exception.printStackTrace返回自定义异常的toString的信息
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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"; // }
解决 1无用