Files
kotlin-fork/compiler/testData/ir/interpreter/exceptions/arithmeticExceptionTryBlock.kt
T
2021-06-07 15:35:12 +03:00

29 lines
742 B
Kotlin
Vendored

@CompileTimeCalculation
fun tryCatch(integer: Int): Boolean {
try {
val a = 10 / integer
return true
} catch (e: ArithmeticException) {
return false
}
}
const val a1 = <!EVALUATED: `false`!>tryCatch(0)<!>
const val a2 = <!EVALUATED: `true`!>tryCatch(1)<!>
const val a3 = <!EVALUATED: `true`!>tryCatch(100)<!>
@CompileTimeCalculation
fun multiTryCatch(integer: Int): String {
return try {
val a = 10 / integer
"Normal"
} catch (e: AssertionError) {
"AssertionError"
} catch (e: ArithmeticException) {
"ArithmeticException"
}
}
const val b1 = <!EVALUATED: `ArithmeticException`!>multiTryCatch(0)<!>
const val b2 = <!EVALUATED: `Normal`!>multiTryCatch(1)<!>