发布网友 发布时间:2022-05-29 16:25
共3个回答
热心网友 时间:2023-10-24 21:38
但这些程序存在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做这种跟系统紧密相关的东西,本来就不合适。热心网友 时间:2023-10-24 21:39
Java中的异常都是继承自Throwable,所以如下代码可以catch【一个线程下】所有的异常:
try{如果程序是多线程,那么需要在每个线程的调用开始时进行try-catch,比如:
热心网友 时间:2023-10-24 21:39
try{