comparison src/luan/LuaException.java @ 43:80b67b1a653c

implement string lib git-svn-id: https://luan-java.googlecode.com/svn/trunk@44 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 25 Dec 2012 03:42:42 +0000
parents 786699c78837
children 57054fa43189
comparison
equal deleted inserted replaced
42:786699c78837 43:80b67b1a653c
33 } 33 }
34 } 34 }
35 35
36 private static String stackTrace(LuaState lua,LuaElement el,Object msg) { 36 private static String stackTrace(LuaState lua,LuaElement el,Object msg) {
37 StringBuilder buf = new StringBuilder(); 37 StringBuilder buf = new StringBuilder();
38 int i = lua.stackTrace.size() - 1; 38 for( int i = lua.stackTrace.size() - 1; i>=0; i-- ) {
39 do {
40 StackTraceElement stackTraceElement = lua.stackTrace.get(i); 39 StackTraceElement stackTraceElement = lua.stackTrace.get(i);
41 buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) ); 40 buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) );
42 el = stackTraceElement.call; 41 el = stackTraceElement.call;
43 } while( --i >= 0 ); 42 }
44 if( msg instanceof LuaException ) { 43 if( msg instanceof LuaException ) {
45 LuaException le = (LuaException)msg; 44 LuaException le = (LuaException)msg;
46 buf.append( "\ncaused by:" ).append( le.stackTrace ); 45 buf.append( "\ncaused by:" ).append( le.stackTrace );
47 } 46 }
48 return buf.toString(); 47 return buf.toString();