Есть ли в IntelliJ "Break on Exception"? - PullRequest
294 голосов
/ 01 июня 2009

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

Итак, мы

  1. Запустить приложение
  2. сделать что-то, что выдает исключение
  3. получил подсвеченную IntelliJ строку, где произошло исключение.

Ответы [ 5 ]

345 голосов
/ 01 июня 2009

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

139 голосов
/ 28 апреля 2011

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

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


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

Например:

!(this instanceof java.lang.ClassNotFoundException)

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

enter image description here

50 голосов
/ 12 февраля 2015

В IntelliJ IDEA 14 перейти к:

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

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

12 голосов
/ 01 июня 2009

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

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

6 голосов
/ 10 октября 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...