forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			897 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			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;
 | 
						|
	}
 | 
						|
} |