永发信息网

Java如何捕获应用程序的Runtime error

答案:3  悬赏:70  手机版
解决时间 2021-03-18 07:35
  • 提问者网友:两耳就是菩提
  • 2021-03-17 19:19
Java如何捕获应用程序的Runtime error
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-03-17 19:50
Java中的异常都是继承自Throwable,所以如下代码可以catch【一个线程下】所有的异常:
try{
  // 一些代码
}catch(Throwable e){
  e.printStackTrance();// 输出异常
}如果程序是多线程,那么需要在每个线程的调用开始时进行try-catch,比如:

new Thread("新线程"){
   public void run(){
       try{}catch(Throwable e){e.printStackTrance();}
   }
}.start();// 开启新线程
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-17 21:06
try{
}catch(Exception e){
}
  • 2楼网友:第幾種人
  • 2021-03-17 20:29
但这些程序存在Runtime error 错误。在运行时会报错误。我想把这些错误用Java 捕捉到。并将这些Runtime error解释出来因为Runtime的和Cheched的都继承Exception虽然严格上说不推荐使用但我都是try 之后, checked的异常都一个一个罗列出来最后都再加上catch所有Exception不行吧,我试过很多中异常捕捉,都不捉不到。是不是因为这个错误时系统错误啊。Java中的Runtime.getRuntime().exec()只负责执行.exe文件但并不能通过catch获得错误信息。 问题补充:mavlarn 写道java捕获的异常,是jvm内部产生的,而调用系统程序,java对它根本没有办法得到任何信息。mavlarn 写道java捕获的异常,是jvm内部产生的,而调用系统程序,java对它根本没有办法得到任何信息。p = rtRuntime.exec("d:\\test\\data1.bat");小卓SUN 写道引用不行吧,我试过很多中异常捕捉,都不捉不到。是不是因为这个错误时系统错误啊。Java中的Runtime.getRuntime().exec()只负责执行.exe文件但并不能通过catch获得错误信息。Process p = Runtime.getRuntime().exec() p.getErrorStream()n //这个是获取调用程序时候出现的错误 没有仔细看,你描述的并不是RuntimeException是别的程序的错误 问题补充:那我试试mavlarn 写道windows程序出错的话,应该是可能会在系统的事件查看器中看到的,但是,java不可能可以访问的到windows系统的事件查看器,因为java不是为windows开发的,这种跟系统相关的功能肯定是没有的。如果说一定要得到事件查看器里面的出错信息,只有一个办法,就是用JNDI的api,用C写一个获取系统事件的模块,然后在java里面调用。(或者是不用jndi,直接用c写一个可执行的程序,获取系统的事件查看器里的某些事件,然后用系统调用)。但是,这应该很麻烦。用java做这种跟系统紧密相关的东西,本来就不合适。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯