0
私の質問は、スラップを使用している場合には、例外からnilを返すにはどうすればいいですか?読み込まないファイル名と例外テキスト?ここに詳細があります。私は、次のコードは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))
ここでは現在返されているものの一例です。
私はこの機能を変更しないようにして、例外をスローし、呼び出し元がtry/catchブロックを使用するようにしています。
ありがとうございます。
Fabooを。私はClojureのtry/catchについて書かれたものはあまり見つからない。ありがとうございました。 – octopusgrabbus
ご存じのように、キャッチする最初の2つの引数は、Exceptionクラスと例外にバインドするシンボルです。後続の引数は、指定された順序で評価する単なるタプルです。 catchの戻り値は最後のタプルの値です。タプルがない場合、戻り値はnilです。 – user100464
"tuple"はここでは意味をなさない単語です。後続の引数は単なる式です。しかし、個人的には、特に 'catch 'の動作に慣れていない場合は、ここに明示的に' nil'を書くことをお勧めします。もちろんそれも空白のままにしておくのは間違いありません。それも動作します。 – amalloy