catch receives a RuntimeException rather than the expected checked exception

Description

Expressions passed to try that trigger the use of clojure.lang.Reflector result in their thrown checked exceptions being wrapped in RuntimeException. As a result, the subsequent set of catches won't switch on the expected checked exception.

Attached: patch for regression test that exposes the problem

Clojure ML Thread: https://groups.google.com/forum/#!topic/clojure/I5l1YHVMgkI/discussion
Introduced: https://github.com/clojure/clojure/commit/8fda34e4c77cac079b711da59d5fe49b74605553

Environment

None

Status

Assignee

Ben Smith-Mannschott

Reporter

Paul Bauer

Labels

None

Approval

Ok

Patch

Code and Test

Fix versions

Affects versions

Priority

Major
Configure