import Ġkotlinx . coroutines . Coroutine ExceptionHandler Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ Ċ fun Ġmain () Ġ{ ĊĠ Ġval Ġhandler Ġ= ĠCor outine ExceptionHandler Ġ{ Ġcontext , Ġthrowable Ġ-> ĊĠĠĠ Ġprintln (" Intercept ed Ġexception Ġof Ġtype Ġ${ throwable . java Class . simple Name }") ĊĠ Ġ} ĊĠ Ġrun Blocking Ġ{ ĊĠĠĠ Ġval Ġjob Ġ= ĠGlobal Scope . launch ( handler ) Ġ{ ĊĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Starting Ġfirst Ġchild ") ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġprintln (" First Ġchild Ġcompleted ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Second Ġchild Ġthrowing Ġexception ") ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġthrow ĠIndex OutOfBoundsException () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġjob . join () ĊĠ Ġ} Ċ }