/* * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the LICENSE file. */ // JVM_ABI_K1_K2_DIFF: KT-63864 // WITH_STDLIB import kotlin.test.* val sb = StringBuilder() fun box(): String { try { sb.appendLine("Before") foo() sb.appendLine("After") } catch (e: Exception) { sb.appendLine("Caught Exception") } catch (e: Error) { sb.appendLine("Caught Error") } catch (e: Throwable) { sb.appendLine("Caught Throwable") } sb.appendLine("Done") assertEquals(""" Before Caught Error Done """.trimIndent(), sb.toString()) return "OK" } fun foo() { throw Error("Error happens") sb.appendLine("After in foo()") }