comparison src/luan/LuanException.java @ 49:8ede219cd111

add WebShell git-svn-id: https://luan-java.googlecode.com/svn/trunk@50 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 28 Dec 2012 19:35:04 +0000
parents 64ecb7a3aad7
children 6ca02b188dba
comparison
equal deleted inserted replaced
48:64ecb7a3aad7 49:8ede219cd111
2 2
3 3
4 public class LuanException extends Exception { 4 public class LuanException extends Exception {
5 private final String stackTrace; 5 private final String stackTrace;
6 6
7 public LuanException(LuanState lua,LuanElement el,Object msg) { 7 public LuanException(LuanState luan,LuanElement el,Object msg) {
8 super(message(msg),cause(msg)); 8 super(message(msg),cause(msg));
9 stackTrace = stackTrace(lua,el,msg); 9 stackTrace = stackTrace(luan,el,msg);
10 } 10 }
11 11
12 @Override public String getMessage() { 12 @Override public String getMessage() {
13 return super.getMessage() + stackTrace; 13 return super.getMessage() + stackTrace;
14 } 14 }
33 } else { 33 } else {
34 return msg.toString(); 34 return msg.toString();
35 } 35 }
36 } 36 }
37 37
38 private static String stackTrace(LuanState lua,LuanElement el,Object msg) { 38 private static String stackTrace(LuanState luan,LuanElement el,Object msg) {
39 StringBuilder buf = new StringBuilder(); 39 StringBuilder buf = new StringBuilder();
40 for( int i = lua.stackTrace.size() - 1; i>=0; i-- ) { 40 for( int i = luan.stackTrace.size() - 1; i>=0; i-- ) {
41 StackTraceElement stackTraceElement = lua.stackTrace.get(i); 41 StackTraceElement stackTraceElement = luan.stackTrace.get(i);
42 buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) ); 42 buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) );
43 el = stackTraceElement.call; 43 el = stackTraceElement.call;
44 } 44 }
45 if( msg instanceof LuanException ) { 45 if( msg instanceof LuanException ) {
46 LuanException le = (LuanException)msg; 46 LuanException le = (LuanException)msg;