私はSparkJavaを使用しています。明示的にキャッチしない限り、ルートにスローされた例外がコンソールに表示されないようです。例えば明示的にキャッチされない限り、例外がコンソールに表示されない
// some stuff
が例外をスローした場合、
Spark.post("/lookup", this::lookup);
と
private String lookup(Request req, Response res) {
// some stuff
return json.toString();
}
与えられ、何もコンソールに表示されません。しかし、明示的に例外をキャッチして印刷すると、期待通りにコンソールに出力されます。
private String lookup(Request req, Response res) {
try {
// some stuff
} catch(Exception e) {e.printStackTrace();}
return json.toString();
}
これはどこかに、さらにルートコールスタック内まで、すべての例外がキャッチされ、隠されていると信じて私をリード。
あなたが想像しているように、この動作の結果、かなりイライラするデバッグが発生します。すべての例外が常にコンソールに表示されるようにする方法はありますか?自分のメインクラスで
が – Carcigenicate
あなたが心の中で特定のリンクを持っていますか「の例外を嚥下するJavaスパーク」を検索してください? – misaka
いいえ、私が知っているのは、ライブラリが例外を呑み込むのは珍しいことではないことです。たとえば、私はQuilライブラリ(Clojure用)を使用していますが、私はSparkJavaを使用したことはありませんが、これが例外を飲み込んでいる場合は、設定がある可能性があります。 。 – Carcigenicate