package Ġorg . part i ql . lang . eval . io Ċ Ċ import Ġcom . amazon . ion . system . Ion System Builder Ċ import Ġorg . junit . Test Ċ import Ġorg . part i ql . lang . Compiler Pipeline Ċ import Ġorg . part i ql . lang . eval . Compile Options Ċ import Ġorg . part i ql . lang . eval . Environment Ċ import Ġorg . part i ql . lang . eval . Evaluation Session Ċ import Ġorg . part i ql . lang . eval . Expr Function Ċ import Ġorg . part i ql . lang . eval . Expr Value Ċ import Ġorg . part i ql . lang . eval . Thunk Options Ċ import Ġorg . part i ql . lang . types . Function Signature Ċ import Ġorg . part i ql . lang . types . Static Type Ċ import Ġjava . lang . IllegalStateException Ċ import Ġkotlin . test . assertTrue Ċ import Ġkotlin . test . fail Ċ Ċ class ĠAlways Throws Func Ġ: ĠExpr Function Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcall With Required ( env : ĠEnvironment , Ġrequired : ĠList < Expr Value >): ĠExpr Value Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġsignature : ĠFunction Signature ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠFunction Signature (" al way sth rows ", ĠlistOf (), ĠreturnType Ġ= ĠStatic Type . ANY ) Ċ } Ċ Ċ class ĠCustom ExceptionHandler Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Custom ExceptionHandler () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcustom Handler Was Inv oked Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġion Ġ= ĠIon System Builder . standard (). build () ĊĠĠĠĠĠĠĠ Ġval Ġcompiler Pipeline Ġ= ĠCompiler Pipeline . build ( ion ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Function ( Always Throws Func ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompile Options . build Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġth unk Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTh unk Options . build Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Exception For Legacy Mode Ġ{ Ġthrowable , Ġsource Location Meta Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Handler Was Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= Ġcompiler Pipeline . compile (" al way sth rows () ") ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpression . eval ( Evaluation Session . standard ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" IllegalStateException Ġwas Ġnot Ġthrown .") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( custom Handler Was Inv oked , Ġ" Custom Ġhandler Ġmust Ġbe Ġinvoked ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Custom ExceptionHandler For Java Builder () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcustom Handler Was Inv oked Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġion Ġ= ĠIon System Builder . standard (). build () ĊĠĠĠĠĠĠĠ Ġval Ġcompiler Pipeline Ġ= ĠCompiler Pipeline . builder ( ion ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addFunction ( Always Throws Func ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. compile Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompile Options . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thunk Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTh unk Options . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. handle Exception For Legacy Mode Ġ{ Ġthrowable , Ġsource Location Meta Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Handler Was Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= Ġcompiler Pipeline . compile (" al way sth rows () ") ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpression . eval ( Evaluation Session . standard ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" IllegalStateException Ġwas Ġnot Ġthrown .") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( custom Handler Was Inv oked , Ġ" Custom Ġhandler Ġmust Ġbe Ġinvoked ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ