-1

(.getMessage e) が返すものを明らかに理解していないため、次のコード ブロック (let バインディングの一部) に示されている次の問題が発生している可能性があります。

accumail-results (try
  (client/get accumail-url {:query-params (into {} (first one-parsed-csv-vec))})
  (catch Exception e
  (println (.getMessage e))
  (if (not (= (.getMessage e) 404))
    (exit-sys (str accmail-except-str (.getMessage e) )))))

値を文字列に設定して比較しようとしましたが、null ポインター エラーが発生します。では、なぜ (.getMessage e) の出力を 404 と比較できないのでしょうか。Web アプリケーションから 404 が返されることはわかっています。

4

1 に答える 1

1

e単なるJavaの例外です。Exception.getMessage()は文字列を返しますが、これは数値404と比較されることはありません。

例外がHTTPエラー応答コードをラップしている場合、例外からコードを取得する方法を知るには、特定の例外タイプに関するより専門的な知識が必要になります。Exceptionサブクラスのメソッドとして使用できるようにすることも、メッセージから解析する必要がある場合もあります。エラーコードを取得する方法は、使用しているHTTPクライアントとそれがエラーを表す方法によって異なります。

于 2013-03-07T15:37:58.250 に答える