下面列出了java.sql.SQLException#getStackTrace ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public StackTraceElement[] getStackTrace() {
if (!this.hasSetStackTrace) {
ArrayList<StackTraceElement> frames = new ArrayList<StackTraceElement>(this.exceptions.size() * 20);
int exceptionNum = 0;
for (SQLException exception : this.exceptions) {
StackTraceElement header = new StackTraceElement(MultipleCausesSQLException.class.getName(),
"Exception Number " + exceptionNum,
"<no file>",
0);
frames.add(header);
for (StackTraceElement ste : exception.getStackTrace()) {
frames.add(ste);
}
exceptionNum++;
}
setStackTrace(frames.toArray(new StackTraceElement[frames.size()]));
this.hasSetStackTrace = true;
}
return super.getStackTrace();
}
@Override
public StackTraceElement[] getStackTrace() {
if (!this.hasSetStackTrace) {
ArrayList<StackTraceElement> frames = new ArrayList<StackTraceElement>(this.exceptions.size() * 20);
int exceptionNum = 0;
for (SQLException exception : this.exceptions) {
StackTraceElement header = new StackTraceElement(MultipleCausesSQLException.class.getName(),
"Exception Number " + exceptionNum,
"<no file>",
0);
frames.add(header);
for (StackTraceElement ste : exception.getStackTrace()) {
frames.add(ste);
}
exceptionNum++;
}
setStackTrace(frames.toArray(new StackTraceElement[frames.size()]));
this.hasSetStackTrace = true;
}
return super.getStackTrace();
}