We're updating the issue view to help you get more done. 

an exception caught in a finally block swallows the exception of the outer try

Description

The inner try exception handling clears the exception status of the outer try, making it return successfully instead of rethrowing.
In the following snippet, prn is executed althought it should be dead code.

1 2 3 4 5 6 7 8 (let [chan (a/chan) npe! nil] (a/go (try (npe!) (finally (try (a/>! chan (npe!)) (catch NullPointerException _)))) (prn "this is fine.")))

Environment

None

Status

Assignee

Kevin Downey

Reporter

leonoel

Labels

Approval

None

Patch

Code

Priority

Major