Files
kotlin-fork/js/js.translator/testData/box/expression/try/tryCatchExpressionWithMessage.kt
T
2018-09-12 09:49:25 +03:00

58 lines
1.3 KiB
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1284
package foo
fun box(): String {
var s: String = ""
try {
throw Exception("Exception")
} catch (e: Throwable) {
s = "Throwable:" + e.message!!
}
assertEquals("Throwable:Exception", s)
s = ""
try {
throw Exception("Exception")
} catch (e: Exception) {
s = "Exception:" + e.message!!
}
assertEquals("Exception:Exception", s)
s = ""
try {
throw RuntimeException("RuntimeException")
} catch (e: Exception) {
s = "Exception:" + e.message!!
}
assertEquals("Exception:RuntimeException", s)
s = ""
try {
throw NullPointerException("NullPointerException")
} catch (e: Exception) {
s = "Exception:" + e.message!!
}
assertEquals("Exception:NullPointerException", s)
s = ""
try {
throw IndexOutOfBoundsException("IndexOutOfBoundsException")
} catch (e: NullPointerException) {
s = "NullPointerException:" + e.message!!
} catch (e: RuntimeException) {
s = "RuntimeException:" + e.message!!
} catch (e: Exception) {
s = "Exception:" + e.message!!
}
assertEquals("RuntimeException:IndexOutOfBoundsException", s)
try {
throw RuntimeException()
} catch (e: Exception) {
assertEquals(null, e.message)
}
return "OK"
}