package Ġdev . fork handles . result 4 k Ċ Ċ import Ġdev . fork handles . result 4 k . Result 4 k Benchmark . Error . DID _ NOT _ WORK Ċ import Ġorg . openjdk . j mh . annotations . Benchmark Ċ import Ġorg . openjdk . j mh . infra . Black hole Ċ Ċ open Ġclass ĠExceptions Benchmark Ġ{ ĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġsuccess ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġsucceed () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġfailure ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġfail () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġmeasure ( black hole : ĠBlack hole , Ġaction : Ġ() Ġ-> ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblack hole . consume ( action ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblack hole . consume ( e . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġsucceed (): ĠString Ġ= Ġ" ok " ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġfail (): ĠNothing Ġ= Ġthrow ĠException () ĊĠĠĠ Ġ} Ċ } Ċ Ċ open Ġclass ĠNullable Benchmark Ġ{ ĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġsuccess ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġsucceed () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġfailure ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġfail () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġmeasure ( black hole : ĠBlack hole , Ġaction : Ġ() Ġ-> ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġblack hole . consume ( action () Ġ?: Ġ" failure ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġsucceed (): ĠString ? Ġ= Ġ" ok " ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġfail (): ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ open Ġclass ĠResult 4 k Benchmark Ġ{ ĊĠĠĠ Ġenum Ġclass ĠError Ġ{ ĠD ID _ NOT _ WORK Ġ} ĊĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġsuccess ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġsucceed () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Benchmark ĊĠĠĠ Ġfun Ġfailure ( black hole : ĠBlack hole ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmeasure ( black hole ) Ġ{ Ġfail () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġmeasure ( black hole : ĠBlack hole , Ġaction : Ġ() Ġ-> ĠResult < String , ĠError >) Ġ{ ĊĠĠĠĠĠĠĠ Ġblack hole . consume ( action (). recover Ġ{ Ġit . name Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġsucceed () Ġ= ĠSuccess (" ok ") ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġfail () Ġ= ĠFailure ( DID _ NOT _ WORK ) ĊĠĠĠ Ġ} Ċ } Ċ