LNXSDK/Kha/Tools/linux_x64/std/haxe/ValueException.hx
2025-01-22 16:18:30 +01:00

38 lines
897 B
Haxe

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;
}
}