По этой ссылке кажется, что clojure не генерирует проверенные исключения, поэтому я предполагаю, что clojure перехватывает все, что может быть выброшено, и оборачивает его: http://dev.clojure.org/display/doc/1.3
Что касается идиоматической обработки (?) В Java,тогда старые правила все еще применяются.Я бы проверил, является ли исключение, заключенное в исключение ExecutionException, одним из проверенных исключений, которые я ожидал, могло произойти, и обработал бы их так же, как и в любых других обстоятельствах (читай: эмулируйте принудительный вызов catch, принудительно применяемый компилятором).Если бы это было не так, я бы либо обернул его в исключение времени выполнения и бросил бы его снова, либо зарегистрировал бы его и проглотил в зависимости от ситуации.