在抛出异常的情况下,有很多方法,先介绍两个我常用的。 原来我使用的是System.out.println(e); 这个方法打印出异常,并且输出在哪里出现的异常,不过它和另外一个e.printStackTrace()方法不同。后者也是打印出异常,但是它还将显示出更深的调用信息。 比如说: A extends ---> B extends ----> C 当在创建A的过程中出现问题了,我们抛出异常。 System.out.println(e),除了标准异常外,只打印at A 然后再向外层层输出。 e.printStackTrace(),除了标准异常外,打印 at C at B at A .......再向外层调查。 在向外层调查的情况下,都一样。最后都会回到com.sun.midp.main.Main.main
3楼误导 A extends --- > B extends ---- > C 表示的是继承关系,和异常没关系。 printStackTrace()是显示调用栈,也就是打印发生异常时执行的方法,以及调用此方法的方法,以及调用调用此方法的方法的方法,以此类推……
在抛出异常的情况下,有很多方法,先介绍两个常用的:System.out.println(e); 这个方法打印出异常,并且输出在哪里出现的异常 e.printStackTrace() 也是打印出异常,但是它还将显示出更深的调用信息。 比如说: A extends ---> B extends ----> C 当在创建A的过程中出现问题了,我们抛出异常。 System.out.println(e),除了标准异常外,只打印at A 然后再向外层层输出。 e.printStackTrace(),除了标准异常外,打印 at C at B at A .......再向外层调查。 在向外层调查的情况下,都一样。最后都会回到com.sun.midp.main.Main.main
try{
//会引发异常的语句
}catch(Exception e){
e.printStackTrace();
}
原来我使用的是System.out.println(e);
这个方法打印出异常,并且输出在哪里出现的异常,不过它和另外一个e.printStackTrace()方法不同。后者也是打印出异常,但是它还将显示出更深的调用信息。
比如说:
A extends ---> B extends ----> C
当在创建A的过程中出现问题了,我们抛出异常。
System.out.println(e),除了标准异常外,只打印at A 然后再向外层层输出。
e.printStackTrace(),除了标准异常外,打印
at C
at B
at A
.......再向外层调查。
在向外层调查的情况下,都一样。最后都会回到com.sun.midp.main.Main.main
A extends --- > B extends ---- > C
表示的是继承关系,和异常没关系。
printStackTrace()是显示调用栈,也就是打印发生异常时执行的方法,以及调用此方法的方法,以及调用调用此方法的方法的方法,以此类推……
这个方法打印出异常,并且输出在哪里出现的异常
e.printStackTrace()
也是打印出异常,但是它还将显示出更深的调用信息。 比如说:
A extends ---> B extends ----> C
当在创建A的过程中出现问题了,我们抛出异常。
System.out.println(e),除了标准异常外,只打印at A 然后再向外层层输出。
e.printStackTrace(),除了标准异常外,打印
at C
at B
at A .......再向外层调查。
在向外层调查的情况下,都一样。最后都会回到com.sun.midp.main.Main.main