Я использую SparkJava, и кажется, что исключения, брошенные в маршрутах, не отображаются в консоли, если я их явно не поймаю.Исключения не отображаются в консоли, если явно не поймано
Например, при
Spark.post("/lookup", this::lookup);
и
private String lookup(Request req, Response res) {
// some stuff
return json.toString();
}
Если // some stuff
выбрасывает исключение, ничего не появляется в консоли. Но если я явно поймаю и распечатаю исключение, он печатает его на консоль, как ожидалось.
private String lookup(Request req, Response res) {
try {
// some stuff
} catch(Exception e) {e.printStackTrace();}
return json.toString();
}
Это заставляет меня поверить, что где-то еще дальше по маршруту вызова, все исключения пойманы и спрятаны.
Как вы можете себе представить, такое поведение приводит к некоторой довольно отлаженной отладке. Есть ли способ сделать это так, чтобы все исключения всегда отображались в консоли?
Попробуйте поискать «Java искры глотания исключения» – Carcigenicate
У вас есть определенное звено в виде? Я попробовал поиск, но ничего не нашел (может быть, я просто плохой поисковик :() – misaka
Нет, я просто знаю, что библиотеки нередко проглатывают исключения. Например, я использую библиотеку Quil (для Clojure) , и по умолчанию он проглатывает все исключения. У него есть опция, но разрешить исключения как обычно. Я никогда не использовал SparkJava, но если это он проглатывает исключения, у него может быть параметр. Извините, я не могу больше помочь – Carcigenicate