// ĠDifferent Ġbehavior Ġhappens Ġon : JVM Ġ, JS Ġ- X use - fir Ċ class ĠA ( var Ġvalue : ĠString ){ Ċ override Ġfun ĠtoString (): ĠString { Ċ var Ġres Ġ= Ġ"" Ċ return Ġres Ċ } Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠA (" start ") !! ĊĊĠĠĠ Ġtry { Ċ println (" TRY "); ĊĊĠĠĠĠĠĠĠ Ġtest ( a ) Ċ } Ġcatch ( e : ĠRuntimeException ){ Ċ println (" CATCH Ġe : ĠRuntimeException "); Ċ Ċ } !! ĊĊĠĠĠ Ġif Ġ( a . value Ġ== Ġ" start , Ġtry , Ġfinally 1 , Ġfinally 2 ") Ġ{ Ċ println (" THEN "); Ċ return Ġ" fail : Ġ${ a . value }" !! Ċ } ĊĊĠĠĠ Ġreturn Ġ" OK " !! Ċ } Ċ Ċ fun Ġtest ( a : ĠA ) Ġ: ĠString Ġ{ ĊĠĠĠ Ġtry { Ċ println (" TRY "); ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . value Ġ+= Ġ", Ġtry " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġa . value ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . value Ġ+= Ġ", Ġfinally 1 " ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ġfinally { Ċ println (" FIN ALLY "); ĊĊĠĠĠĠĠĠĠ Ġa . value Ġ+= Ġ", Ġfinally 2 " ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" fail ") Ċ } !! Ċ } Ċ