Scala inspired Try operator
Haxelib: http://lib.haxe.org/p/dhx.try/
Scala API: http://www.scala-lang.org/api/current/scala/util/Try.html
Usage:
import dhx.Try;
import dhx.Try.Macro.Try; // macro magic
using dhx.Tries; // useful extensions
...
var tried:Try<Int> = Try(someUnsafeOperation(foo, bar));
tried.LogFailure(); // trace exception or set define `debug_try`
var value = tried.getOrElse(function () return 0);
Global Import
import.hx
import dhx.Try;
import dhx.Try.Macro.Try;
using dhx.Tries;
Void
Try<Void>
is not supported, instead of Void
use thx.Nil
type from thx.core
haxe library.
var tried = Try(voidMethod()); // Try.Success(thx.Nil.nil);
Debug
- define
debug_try
- turn on exceptions log