2 回答
TA贡献1725条经验 获得超7个赞
TA贡献1829条经验 获得超7个赞
这应该做你想要的,尽管假设每条消息只有一个。
public class someClass {
private static final Pattern idPattern = Pattern.compile("<.*>");
public static void main(String[] args) {
doStuff();
}
public static void doStuff(){
try{
throwNPE();
} catch (NullPointerException ex){
String message = ex.getMessage();
if(idPattern.matcher(message).matches()){
System.out.println(getId(message));
}
}
}
public static String getId(String message){
String[] messageParts = message.split("<|>");
if(messageParts.length > 1){
return messageParts[1];
}else{
throw new IllegalArgumentException();
}
}
public static void throwNPE(){
throw new NullPointerException("<123>");
}
}
你只需要 doStuff() 和 getId(字符串) 作为你的示例(你可以删除静态),但是想要提供一个工作示例。
任何必要的解释,请询问。祝你好运!
添加回答
举报