我的问题是如何从异常中返回 nil 而不是 - 在使用 slurp 的情况下 - 不会加载的文件名和异常文本?这是详细信息。
我希望以下代码返回零:
(defn open-csv-file
"Attempts to open a .csv file and complains if the file is not present."
[file-name]
(let [file-data
(try
(slurp file-name)
(catch Exception e (.getMessage e)))]
file-data))
这是现在返回的示例。
bene-cmp.core=> (load-file "src/bene_cmp/core.clj")
#'bene-cmp.core/-main
bene-cmp.core=> (def x (open-csv-file "test_file.csv"))
#'bene-cmp.core/x
bene-cmp.core=> x
"test_file.csv (No such file or directory)"
bene-cmp.core=>
我试图避免修改此函数,以便它引发异常,然后让调用者使用 try/catch 块。
谢谢你。