场景:现有系统运行中会出现莫名其妙的问题,初步诊断有某些异常没有捕获,如空指针等。但是我没有办法确定是哪里抛了异常,不能调试。问题:我想在 有没有一个办法,只要系统程序中抛出了任何异常,只要没有被捕获(没有catch块处理),都把它监听到,然后记录到日志中。 简而言之,是否有办法监听到程序中的任何异常?在下先行谢过了..
解决方案 »
- java Graphics对象是如何创建的。他的构造方法是protected。
- java 数值类型转换
- 提个关于ByteArrayInputStream的问题
- 支持下小弟搞的编程网吧http://www.kingofcoder.com
- 连接sql server2000 我该用哪个补丁?
- 有趣的问题,欢迎参与,在线讨论!!!!!!
- 接口对象调用的方法是不是实现该接口方法的对象的方法
- 100分! 寻找电子工业出版社的<<java2从入门到精通>>的源代码文件, 迫切需要,help!
- 众位高手谁用过JCreator,JCreator安装时有没有自动安装JDK,JCreator的特点是什么
- 小问题:swing是什么的缩写?
- javabean问题
- 范型的问题
下边的是参考配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
default-autowire="autodetect">
<aop:config>
<aop:aspect ref="monitorClass">
<aop:around pointcut="execution(* *..service.*Service.*(..))" method="monitorMethod"/>
</aop:aspect>
</aop:config>
<bean id="monitorClass" class="com.test.MonitorClass" />
</beans>
System.setErr(new PrintStream(new FileOutputStream(new File("error文件"))));
其实就算不加这个,你也能在控制台中看见error信息。
如果你的代码中存在空代码的catch,也就是说catch异常而未处理,那就麻烦了。
我不是问如何打印异常,事实上我也不可能在现有程序中到处加Try catch然后catch中打印异常。
其实不管处于何种原因,我就是要把所有异常能收集到一起,catch住的,没有catch住的,哪怕是catch后没有任何处理的的.只要是程序中抛出的异常,我希望有个“东西”它就能感知到,然后记录下来。
{
//你的逻辑代码
}
catch(Throwable t)
{
//这里处理一下,就可以捕捉所有的异常或虚拟机错误
}
我上次也是catch Exception 没有捕获任何异常,一直没有查出问题
应该就是我想要的。