comparison core/src/luan/LuanException.java @ 200:9fb218211763

add Package.block(); add LuanException.getFullMessage(); git-svn-id: https://luan-java.googlecode.com/svn/trunk@201 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 03 Jul 2014 22:22:16 +0000
parents 3dcb0f9bee82
children 5d4a78c93383
comparison
equal deleted inserted replaced
199:8960c81eb4bc 200:9fb218211763
1 package luan; 1 package luan;
2 2
3 import java.io.StringWriter;
4 import java.io.PrintWriter;
3 5
4 public class LuanException extends Exception { 6
7 public final class LuanException extends Exception {
5 private final String stackTrace; 8 private final String stackTrace;
6 9
7 LuanException(LuanBit bit,Object msg) { 10 LuanException(LuanBit bit,Object msg) {
8 super(message(msg),cause(msg)); 11 super(message(msg),cause(msg));
9 stackTrace = stackTrace(bit,msg); 12 stackTrace = stackTrace(bit,msg);
10 } 13 }
11 14
12 @Override public String getMessage() { 15 @Override public String getMessage() {
13 return super.getMessage() + stackTrace; 16 return super.getMessage() + stackTrace;
17 }
18
19 public String getFullMessage() {
20 String msg = getMessage();
21 Throwable cause = getCause();
22 if( cause != null ) {
23 msg += "\nCaused by: ";
24 StringWriter sw = new StringWriter();
25 cause.printStackTrace(new PrintWriter(sw));
26 msg += sw;
27 }
28 return msg;
14 } 29 }
15 30
16 private String message() { 31 private String message() {
17 return super.getMessage(); 32 return super.getMessage();
18 } 33 }