java的catch中有时候不加e.printStackTrace();控制台就不会抛出sql异常?


​为什么有时候会抛出有时候不会抛出?

sql java mysql javaweb

pikaqu 9 years, 3 months ago

e.printStackTrace(); 是把异常打印出来,所以你从控制台看到了。去掉后,就算有异常,可是控制台不打印,所以你感觉没有抛出。
你可以在里面随便print一下,就会发现抛出异常后还是会执行这个print。

俯瞰丶風景 answered 9 years, 3 months ago

关于这个你应该分清楚你是否调用其他的类库还是自己的代码,你调用其他类库的时候由于你给的参数不对,导致类库无法识别参数,类库就会将你的错误报告出来,这时候你不调用 e.printStackTrace(); ,也会输出异常,因为类库帮你干了这件事,而对于你自己的代码出的错,就需要你自己去调用 e.printStackTrace(); 才会将异常给你输出出来

Mayf42 answered 9 years, 3 months ago

Your Answer