package Ġcom . da im ler . mb logger kit . crash Ċ Ċ import Ġcom . da im ler . mb logger kit . MB Logger Kit Ċ Ċ internal Ġclass ĠWrite Error Log ExceptionHandler ( ĊĠĠĠ Ġprivate Ġval Ġerror LogFile Writer : ĠError LogFile Writer Ċ ) Ġ: ĠException Handler , ĠThread . Un caught ExceptionHandler Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdefault ExceptionHandler : ĠThread . Un caught ExceptionHandler ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġregistered Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġregister () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( registered ) Ġreturn ĊĠĠĠĠĠĠĠ Ġregistered Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġdefault ExceptionHandler Ġ= ĠThread . getDefault Un caught ExceptionHandler () ĊĠĠĠĠĠĠĠ ĠThread . setDefault Un caught ExceptionHandler ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunregister () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! registered ) Ġreturn ĊĠĠĠĠĠĠĠ ĠThread . setDefault Un caught ExceptionHandler ( default ExceptionHandler ) ĊĠĠĠĠĠĠĠ Ġdefault ExceptionHandler Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġregistered Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun caught Exception ( t : ĠThread ?, Ġe : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror LogFile Writer . write Log ( MB Logger Kit . load Current Log ()) ĊĠĠĠĠĠĠĠ Ġt ?. let Ġ{ Ġthread Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe ?. let Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault ExceptionHandler ?. unc a ught Exception ( thread , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ