Есть ли "Break on Exception" в IntelliJ?

Есть ли функция, которая автоматически нарушит отладку при первом возникновении исключения?

Итак, мы

  • запустить приложение
  • сделать что-то, что бросает исключение
  • получил IntelliJ выделенную выделенную строку, в которой произошло исключение.

Ответ 1

Выполнить | Просмотр точек останова | Исключение точки останова

Ответ 2

Быстрый способ открыть диалоговое окно - нажать Ctrl + SHIFT + F8 (На Mac: Cmd + SHIFT + F8), затем перейдите на вкладку контрольных точек исключения, Если это была последняя вкладка, которую вы просматривали, она все равно будет выбрана, что упростит включение и отключение исключений.

Это вызовет разрыв IntelliJ в точке кода (или кода библиотеки), где было создано исключение. В частности, вы получаете "первый шанс" при обработке исключений, прежде чем стек будет искать блоки catch/finally для выполнения.


СОВЕТ. При загрузке классов Java обычно бросает множество исключений, поэтому это нарушение во всех исключениях может стать довольно утомительным. Хорошей новостью является то, что вы можете исключить определенные типы исключений, используя поле условия.

Например:

!(this instanceof java.lang.ClassNotFoundException)

Вы можете связать несколько таких условий вместе с &&.

enter image description here

Ответ 3

В IntelliJ IDEA 14 перейдите по ссылке:

Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"

Если вы не снимите отметку Caught Exceptions, выполнение будет остановлено каждый раз, когда Java Framework выдает внутреннее исключение.

Ответ 4

Да, есть. Вам необходимо определить контрольную точку исключения (она может быть "Любое исключение" ) в диалоговом окне точек останова в IntelliJ IDEA.

Исключения могут быть отфильтрованы по условию или классу, если хотите, или интересуются ли вы пойманными или неперехваченными исключениями.

Ответ 5

Если вы нажмете маленький знак "+" в верхнем левом углу, вы можете добавить новую точку останова. Если вы выберете Exception Breakpoint, вы получите небольшое диалоговое окно, в котором вы можете ввести класс исключения для разрыва (в случае, если вы не хотите прерывать все исключения).