test1: ---
assert(try { false } catch (e: Exception) { true })
       |
       false
---
test2: ---
assert(try { true; a > b } catch (e: NullPointerException) { b > a } catch (e: Exception) { b == a })
       |
       false
---
test3: ---
assert(try { a > b } catch (e: Exception) { b == a } finally { a < b })
       |
       false
---
test4: ---
assert(try { a > b } finally { a == b ; 10})
       |
       false
---
test5: ---
assert(try { a > b } catch (e: Exception) { b == a } finally { a < b } == (a.inc() == 2))
       |                                                               |   | |     |
       |                                                               |   | |     true
       |                                                               |   | 2
       |                                                               |   1
       |                                                               false
       false
---
test6: ---
assert(
    try {
    |
    false

        when {
            x == 3 -> true
            else -> false
        }
    } finally {
        1
    }
)
---
