高手请听题:异常提示中的路径a.b.Class与a/b/Class 有什么不同?
例如,
某个Exception 如下:
javax.servlet.ServletException: a/b/c/SomeClass
另一个Exception如下:
java.lang.NullPointerException at a.b.c.SomeClass
这两个提示有什么不同?请各位朋友在理论上解释下!
分数不够可以再加!
------解决方案--------------------两个异常完全不同
一个是
ServletException,一个
空指针异常 这个,我还是建议找本JSP,SERVLET的书读读
------解决方案--------------------a/b/c/SomeClass 和 a.b.c.SomeClass 都是指在包a下面的包b下面的包c下面的SomeClass这个类(奶奶的,还真拗口)。
classloader去找class的时候会把a.b.c.SomeClass转换为a/b/c/SomeClass,然后就可以去找到这个实际文件。
所以如果知道了这些,你的问题就非常容易解决了。
1。a.b.c.SomeClass的错,首先恭喜你,classloader找到了a.b.c.SomeClass这个class,但是在执行这个class的某个方法的时候出错了,抛出了异常。
2。a/b/c/SomeClass的错,这个时候,估计是使这个class文件没有了,多半会伴随
java.lang.NoClassDefFoundError这个异常,如果是在jsp里调用了这个类,但是这个类有不存在了,就会报这种异常,这个时候都是classloader要找你这个class文件,但是没有找到,产生的异常。
打字累啊,楼主看着给点吧,嘿嘿。