1
8
9 import com.sekati.except.Exception;
10 import com.sekati.log.Logger;
11 import com.sekati.reflect.Stringifier;
12 import com.sekati.validate.TypeValidation;
13
14
26 class com.sekati.except.Catcher {
27
28
33 public static function handle(e:Exception):String {
34 var a:Array = e.getStack( );
35 var tmp:String = "[ ";
36 for(var i:Number = 0; i < a.length ; i++) tmp += a[i] + " (" + TypeValidation.getType( a[i] ).name + "), ";
37 var stack:String = tmp.slice( 0, tmp.length - 2 ) + " ]";
38 var str:String = "%%% Catcher handling Exception:\nName: '" + e.getName( ) + "'\nType: '" + e.getType( ) + "'\nErrorCode: '" + e.getErrorCode( ) + "'\nThrower: " + e.getThrower( ) + "\nStack: " + stack + "\n\n";
39 Logger.$.warn( toString( ), str );
40 return str;
41 }
42
43
46 public static function toString():String {
47 return Stringifier.stringify( Catcher );
48 }
49
50 private function Catcher() {
51 }
52 }