package Ġarrow . core Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe ĠThrowable Ġif ĠNon Fatal Ġand Ġthrows Ġit Ġotherwise . Ċ Ġ* Ċ Ġ* Ġ@ throws ĠThrowable Ġthe ĠThrowable Ġ` this ` Ġif ĠF atal Ċ Ġ* Ġ@ return Ġthe ĠThrowable Ġ` this ` Ġif ĠNon Fatal Ċ Ġ* Ċ Ġ* Ġ``` kotlin : ank : playground Ċ Ġ* Ġimport Ġarrow .* Ċ Ġ* Ġimport Ġarrow . core .* Ċ Ġ* Ċ Ġ* Ġfun Ġunsafe Function ( i : ĠInt ): ĠString Ġ= Ċ Ġ* ĠĠĠ Ġwhen Ġ( i ) Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġthrow ĠIllegalArgumentException (" Non - Fatal ") Ċ Ġ* ĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġthrow ĠOut Of Memory Error (" Fatal ") Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" Hello " Ċ Ġ* ĠĠĠ Ġ} Ċ Ġ* Ċ Ġ* Ġfun Ġmain ( args : ĠArray < String >) Ġ{ Ċ Ġ* ĠĠ Ġval Ġnon Fatal : ĠEither < Throwable , ĠString > Ġ= Ċ Ġ* ĠĠ Ġ// sample Start Ċ Ġ* ĠĠ Ġtry Ġ{ Ċ Ġ* ĠĠĠĠĠ ĠRight ( unsafe Function ( 1 )) Ċ Ġ* ĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ Ċ Ġ* ĠĠĠĠĠĠ ĠLeft ( t . non Fatal OrThrow ()) Ċ Ġ* ĠĠ Ġ} Ċ Ġ* ĠĠ Ġ// sample End Ċ Ġ* ĠĠ Ġprintln ( non Fatal ) Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ*/ Ċ // Ġhttps :// yout rack . jetbrains . com / issue / KT - 3 6 0 3 6 Ċ fun ĠThrowable . non Fatal OrThrow (): ĠThrowable Ġ= ĊĠ Ġif Ġ( Non Fatal ( this )) Ġthis Ġelse Ġthrow Ġthis Ċ