java消息处理_java – 处理/处理错误流消息的最佳方法

我需要处理生成编译/运行时的不同错误/异常消息.

我执行一个Java程序读取由此生成的流:

final Process p2 = builder.start();

BufferedReader in = new BufferedReader(new

InputStreamReader(p2.getInputStream()));

每次成功,都会生成并显示输出.没问题.但我需要为每条错误消息显示自定义消息.

例如:

Error: Main method not found in class dummy.helloParse10.hello, please define the main method as:

public static void main(String[] args)

or a JavaFX application class must extend javafx.application.Application

可以自定义为:错误:找不到主要方法

我目前的方法非常丑陋且有限.我正在查看错误流中是否存在“Exception”字符串,然后取出子字符串.如下所示:

if(tError.contains("Exception"))

tError=tError.substring(tError.indexOf("main\"")+5,tError.indexOf("at"))

+ "( At Line: "+tError.substring(tError.indexOf(".java")+6);

但它并没有广泛地定制我的方法.

我能做的最好的事情是什么?

编辑:

我认为我的问题不清楚.基本上我正在通过执行Java程序

的ProcessBuilder.

//Compile the program

Process p = Runtime.getRuntime().exec("javac filename ");

// Now get the error stream if available :

BufferedReader in = new BufferedReader(new

InputStreamReader(p.getOutputStream()));

String line = null;

while ((line = in.readLine()) != null) {

//process error in compilation.

}

...

...

// ProcessBuilder to execute the program.java

//Read the output or runtime Exception

这个过程的输出可能不是te java程序的结果,也不是从进程steam获取的异常/错误,而是以String形式.需要操作那些错误.

更新:

我现在可以通过@Miserable Variable建议的Java Compiler API来解决编译时错误.我如何同样处理运行时异常?

编辑:

实际上,无法修改要在新进程中运行的程序.它们是用户特定的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值