怎么调用的?
一开始调用Testthree(),之后就跳到Testtwo(),再跳Testone(),运行,Testone抛出异常,Testtwo捕捉异常,然后再抛出一个新异常,新异常还带对象名e(应该是Testone抛出异常的对象名)和信息,Testthree捕捉Testtwo抛出异常:方法一:直接抛出新异常,异常带对象名e(Testtwo对象名)和信息,main方法里面再捕捉,打印输出。(可为什么会输出构造方法里面的信息?)
方法二:前面的一样,到Testthree()时,创建一个新对象e1,再往throwable构造方法里面传信息,再调用initcase(e//Testtwo的对象名),然后抛出自己的对象名,被main捕捉,打印输出(可为什么会打印构造方法里面的信息和调用initcase的信息)
我理解就是这样。难道就是那个打印语句吗?不应该就是打印错误信息在几行吗?
还有API的问题,到达怎么使用,什么时候就要用到,你无缘无故的说一句API里面为我们提供什么方法,我怎么知道会不会提供啊,又没看过,看过也不一定能懂,读懂字面意思也不知道真正写代码怎么写?
求解,在线等急
正在回答
同学你好,1、第一个问题中,直接输出异常信息是因为在主方法中调用了e.printStackTrace();来输出异常信息!
2、第二个问题中,在异常链的异常中,抛出新的异常,并将原来的异常信息传入,在主方法中调用时,同样使用e.printStackTrace();来输出异常的具体信息哦!
3、API一般不是拿来看的,是拿来查阅的,像字典一样。比如异常类中的那么多方法,我们不可能全部都记住,只有在需要用到时,才去查阅一下用法。
java API 要结合实际学习用的,整个API不可能完全学会的。
当遇到不会的,先猜测用法,然后查阅API。
查阅后最好是手动敲一遍,一般可以得到一个正常的结果和反馈,那么这时候再去翻一翻API,看看API里的描述和你得到的结果是不是一致的。
多次练习后,等到习惯使用API后,理解起来就容易多了。如果看不懂英文的,可以再往网上找到中文版本的API来查阅哦!
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星