Exceptions.hx 712 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package cs.internal;
  2. import cs.system.Exception;
  3. //should NOT be usable inside haxe code
  4. @:nativegen @:keep @:native("haxe.lang.HaxeException") private class HaxeException extends Exception
  5. {
  6. private var obj:Dynamic;
  7. public function new(obj:Dynamic)
  8. {
  9. super();
  10. if (Std.is(obj, HaxeException))
  11. {
  12. var _obj:HaxeException = cast obj;
  13. obj = _obj.getObject();
  14. }
  15. this.obj = obj;
  16. }
  17. public function getObject():Dynamic
  18. {
  19. return obj;
  20. }
  21. public function toString():String
  22. {
  23. return "Haxe Exception: " + obj;
  24. }
  25. public static function wrap(obj:Dynamic):Exception
  26. {
  27. if (Std.is(obj, Exception)) return obj;
  28. return new HaxeException(obj);
  29. }
  30. }