Mercurial Hosting > luan
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 } |