comparison core/src/luan/modules/BasicLuan.java @ 481:5d4a78c93383

luan errors are now tables
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 11 May 2015 20:26:36 -0600
parents bab5607a0eed
children 4dc9cb26a3a8
comparison
equal deleted inserted replaced
480:44caaa6a3d92 481:5d4a78c93383
106 106
107 public static String to_string(LuanState luan,Object v) throws LuanException { 107 public static String to_string(LuanState luan,Object v) throws LuanException {
108 return luan.toString(v); 108 return luan.toString(v);
109 } 109 }
110 110
111 public static void error(LuanState luan,Object msg) throws LuanException { 111 public static LuanTable new_error(LuanState luan,Object msg) throws LuanException {
112 throw luan.exception(msg); 112 return luan.exception(msg).table();
113 } 113 }
114 114
115 public static String assert_string(LuanState luan,String v) throws LuanException { 115 public static String assert_string(LuanState luan,String v) throws LuanException {
116 Utils.checkNotNull(luan,v); 116 Utils.checkNotNull(luan,v);
117 return v; 117 return v;
202 try { 202 try {
203 return luan.call(tryFn); 203 return luan.call(tryFn);
204 } catch(LuanException e) { 204 } catch(LuanException e) {
205 if( catchFn == null ) 205 if( catchFn == null )
206 throw e; 206 throw e;
207 return luan.call(catchFn,new Object[]{e}); 207 return luan.call(catchFn,new Object[]{e.table()});
208 } finally { 208 } finally {
209 if( finallyFn != null ) 209 if( finallyFn != null )
210 luan.call(finallyFn); 210 luan.call(finallyFn);
211 } 211 }
212 } 212 }
219 for( int i=0; i<r.length; i++ ) { 219 for( int i=0; i<r.length; i++ ) {
220 rtn[i+1] = r[i]; 220 rtn[i+1] = r[i];
221 } 221 }
222 return rtn; 222 return rtn;
223 } catch(LuanException e) { 223 } catch(LuanException e) {
224 return new Object[]{false,e}; 224 return new Object[]{false,e.table()};
225 } 225 }
226 } 226 }
227 227
228 } 228 }