A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 小路飞 中级黑马   /  2013-3-13 00:00  /  1915 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

toString(),getMessage(),printStackTrace()之间的关系?是否在互相调用?求指点!

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

正序浏览
问题一:他们的相同点是都在异常类里面出现了。不同点是这三个方法的名字不同,返回值不同,要知道各自返回什么,请往上看。
问题二:关于他们是否互相调用,我不知道,不过我知道打开java的源文件,看看这三个方法的源代码就知道他们有没有互相调用了。源代码就在你的jdk目录下的src.zip压缩包里面。里面的源代码用记事本打开会很乱,是因为回车符的问题,你把代码复制到Editplus里面就好了。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
1.public void printStackTrace()
此方法将此 Throwable或Exception 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。
输出的第一行包含此对象的 toString() 方法的结果。剩余行表示以前由方法 fillInStackTrace() 记录的数据。
2.public String getMessage()
返回此 Throwable或Exception 的详细消息字符串。
3.public String toString()
返回此 Throwable或Exception  的简短描述。
如果此 Throwable或Exception  对象是利用非空详细消息字符串创建的,则结果是三个字符串的串联:
1)此对象的实际类的名称
2)": "(冒号和空格)
3)此对象的 getMessage() 方法的结果
如果此 Throwable或Exception  对象利用 null 详细消息字符串创建,则返回此对象的实际类的名称。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马