私の質問は、スラープを使用する場合、ロードされないファイル名と例外テキストの代わりに、例外から nil を返すにはどうすればよいですか? 詳細はこちら。
次のコードで nil を返したい:
(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 ブロックを使用させようとしています。
ありがとうございました。