1234567891011121314151617181920212223242526272829303132333435363738 |
- package haxe;
- /**
- An exception containing arbitrary value.
- This class is automatically used for throwing values, which don't extend `haxe.Exception`
- or native exception type.
- For example:
- ```haxe
- throw "Terrible error";
- ```
- will be compiled to
- ```haxe
- throw new ValueException("Terrible error");
- ```
- **/
- class ValueException extends Exception {
- /**
- Thrown value.
- **/
- public var value(default,null):Any;
- public function new(value:Any, ?previous:Exception, ?native:Any):Void {
- super(#if js js.Syntax.code('String({0})', value) #else Std.string(value) #end, previous, native);
- this.value = value;
- }
- /**
- Extract an originally thrown value.
- This method must return the same value on subsequent calls.
- Used internally for catching non-native exceptions.
- Do _not_ override unless you know what you are doing.
- **/
- override function unwrap():Any {
- return value;
- }
- }
|