![](/img/trans.png)
[英]How to get the stackTrace from an exception without printStackTrace?
[英]How to get the particular package from the exception stackTrace in java
我只想從異常stackTrace中打印特定的程序包。 如何實現呢?
例如,考慮以下堆棧跟蹤
com.mongodb.MongoInternalException: DBPort.findOne failed
at com.mongodb.DBPort.findOne(DBPort.java:153)
at com.mongodb.DBPort.runCommand(DBPort.java:159)
at com.mongodb.DBTCPConnector.testMaster(DBTCPConnector.java:371)
at com.myapp.foo.MongoConnection.java:10
at com.myapp.foo.MongoConnection.java:27
我只想在具有行號和methodName的stackTrace中打印包“ com.myapp.foo”
像這樣的事情呢:
try {
throw new RuntimeException();
}
catch (RuntimeException e) {
StackTraceElement[] stackTrace = e.getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
String className = stackTraceElement.getClassName();
int pos = className.lastIndexOf('.');
String packageName = className.substring(0, pos);
System.out.println("Package:" + packageName +
", method: "+ stackTraceElement.getMethodName() +
", line:" + stackTraceElement.getLineNumber());
}
}
您當然可以添加所需的任何自定義包裝過濾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.