Process myProcess = Runtime.getRuntime().exec ("D:\\jdk1.3\\bin\\javac d:\\abc.java");
这段程序如果产生异常,是由主线程捕获到呢?还是由新建的进程myProcess捕获呢?
我认为因该由myProcess来捕获,但是它始终不活不到,现在我总于相通了,那是因为你的那个进程根本就没生成!所以他自然就捕获不到异常啦!
Runtime.getRuntime().exec (参数1,参数2);也就是说只有这个进程建立,他才能捕获
自己的异常,那他什么时候才建立呢。我试了一下,自有当参数一,也就是你要运行的命令
能正常的运行,这样你的进程就建立起来了。如果参数二出错,也就是参数一运行的参数出错
那么,这个进程就可以捕获到异常了!
你可以试试下面的程序看看!import java.io.*;
public class Pnotepad
{
public static void main(String args[])
{
try
{
String s;
Process myProcess = null;
myProcess = Runtime.getRuntime().exec ("javac wxyxl.java"); //wxyxl.java这个文件名可以随便取,但是必须的是实际不存在的 ,因为你要捕获异常!
BufferedReader in = new BufferedReader(new
InputStreamReader(myProcess.getErrorStream()));
while ((s = in.readLine()) != null)
{
System.out.println("这是进程myProcess捕获到的异常:"+s);
}
}catch(Exception e){System.out.println("这是主线程捕获到的异常");}
}
} 你试试看吧!我已经成功了!
如不行,我们再讨论!
这段程序如果产生异常,是由主线程捕获到呢?还是由新建的进程myProcess捕获呢?
我认为因该由myProcess来捕获,但是它始终不活不到,现在我总于相通了,那是因为你的那个进程根本就没生成!所以他自然就捕获不到异常啦!
Runtime.getRuntime().exec (参数1,参数2);也就是说只有这个进程建立,他才能捕获
自己的异常,那他什么时候才建立呢。我试了一下,自有当参数一,也就是你要运行的命令
能正常的运行,这样你的进程就建立起来了。如果参数二出错,也就是参数一运行的参数出错
那么,这个进程就可以捕获到异常了!
你可以试试下面的程序看看!import java.io.*;
public class Pnotepad
{
public static void main(String args[])
{
try
{
String s;
Process myProcess = null;
myProcess = Runtime.getRuntime().exec ("javac wxyxl.java"); //wxyxl.java这个文件名可以随便取,但是必须的是实际不存在的 ,因为你要捕获异常!
BufferedReader in = new BufferedReader(new
InputStreamReader(myProcess.getErrorStream()));
while ((s = in.readLine()) != null)
{
System.out.println("这是进程myProcess捕获到的异常:"+s);
}
}catch(Exception e){System.out.println("这是主线程捕获到的异常");}
}
} 你试试看吧!我已经成功了!
如不行,我们再讨论!
解决方案 »
- JAVA如何读取MTP便携设备中的文件?
- 关于junit的问题求助
- 什么是抛出异常?以及为什么要抛出异常?
- 谁有用ORACLE数据库,学习STRUTS的JAVA源代码,适合初学者用
- 有关于java Application的问题
- 以前没用jbuilder,现在用感觉很好;编写时代码自动完成得快捷键是什么,请知道的朋友给一下!
- 请教一个菜鸟级的问题:这两个func()有什么不同?
- 请各位高说帮我看看一个关于线程的问题!
- 各位高手:java中查找字符串并替换用什么方法?
- help me!What is worry???
- 怎样制作java的声音格式.AU文件啊?用什么工具?
- 一个问题解决了,另一个问题又来了。呀!websphere,我恨,恨,恨...!
太简单了。
让各位见笑。
是CLASSPATH 的问题。改改它就好拉。