我需要一个过滤报错信息的java代码程序
时间: 2023-05-26 08:02:01 浏览: 49
以下是一个简单的过滤报错信息的Java代码程序:
```java
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
public class ErrorFilter {
public static void main(String[] args) {
try {
int i = 10 / 0; // 抛出除零异常
} catch (Exception e) {
String filteredError = filterErrorMsg(e);
System.out.println(filteredError);
}
}
private static String filterErrorMsg(Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String errorMsg = sw.toString();
String[] lines = errorMsg.split("\n");
StringBuilder filteredMsg = new StringBuilder();
for (String line : lines) {
if (!line.contains("java.lang.ArithmeticException")) { // 过滤除零异常信息
filteredMsg.append(line).append("\n");
}
}
return filteredMsg.toString();
}
}
```
该程序用try-catch语句捕获了一个除零异常,并通过`filterErrorMsg()`方法将异常信息转换为字符串,过滤掉了其中包含"java.lang.ArithmeticException"的行,最后返回过滤后的错误信息。
输出结果:
```
java.lang.NullPointerException
at ErrorFilter.main(ErrorFilter.java:7)
```