package Ġorg . jetbrains . kotlin x . jupyter . codegen Ċ Ċ import Ġorg . jetbrains . kotlin x . jupyter . api . Throwable Renderer Ċ import Ġorg . jetbrains . kotlin x . jupyter . exceptions . Library Problem Part Ċ import Ġorg . jetbrains . kotlin x . jupyter . exceptions . Repl Library Exception Ċ import Ġorg . jetbrains . kotlin x . jupyter . exceptions . re throw As Library Exception Ċ Ċ class ĠThrowable Render ers Processor Impl Ġ: ĠThrowable Render ers Processor Ġ{ ĊĠĠĠ Ġprivate Ġval Ġrender ers Ġ= Ġmutable ListOf < Throwable Renderer >() ĊĊĠĠĠ Ġoverride Ġfun Ġrender Throwable ( throwable : ĠThrowable ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre throw As Library Exception ( Library Problem Part . THROW ABLE _ RENDER ERS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender ers . first OrNull Ġ{ Ġit . accept s ( throwable ) Ġ} ?. render ( throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠRe pl Library Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠException Ġthrown Ġwhile Ġrendering Ġanother Ġexception . ĠOriginal Ġexception : ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ throwable . stack Trace ToString ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠRendering Ġexception : ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ ex . stack Trace ToString ()} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister ( renderer : ĠThrowable Renderer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrender ers . add ( renderer ) ĊĠĠĠ Ġ} Ċ } Ċ