2
如果我用彈弓的try+
和catch
,很容易寫一個選擇,以配合在地圖上的內容:不過彈弓選擇語法趕上ExceptionInfo Clojure中
(defn dosomething (throw+ {:some :data}))
(try+ (dosomething)
(catch [:some :data] ;; recover))
,如果我想使用ex-info
,該catch選擇不匹配ExceptionInfo
的數據:
(defn dosomething (throw (ex-info "A message" {:some :data})))
很顯然,我能趕上一個ExceptionInfo
或編寫自定義謂詞匹配的數據,我只是想知道如果我失蹤SOMET關於彈弓或ex-info
興奮,因爲我被認爲他們一起工作比這更順利。
我並不渴望使用ex-info,它只是我閱讀的一些東西(例如http://technomancy.us/154)讓我相信ex-info取代了throw +,所以我認爲我錯過了一些東西。顯然不是,但 - 謝謝! :) – Thom
最近版本的彈弓實際上會拋出ex-info例外 –