точка прерывания затмения: остановка перед выходом из метода Java
-
10-07-2019 - |
Вопрос
Есть ли способ сказать отладчику, чтобы он остановился непосредственно перед возвратом, в зависимости от того, какой оператор выходит из метода, будь то возврат, исключение или выпадение в нижней части? Меня вдохновляет тот факт, что редактор Java показывает мне все места, где мой метод может выйти, - он выделяет их, когда вы щелкаете по типу возврата объявления метода (Mark Occurrence enabled). р>
[затмение 3.4]
Решение
Поместите точку останова в строку подписи метода. Вот где ты пишешь
public void myMethod() {
Затем щелкните правой кнопкой мыши точку останова и выберите " Свойства точки останова " ;. В нижней части всплывающего окна есть два флажка: «Ввод метода», «Выйти из метода». Проверьте последнее.
Другие советы
Вы можете установить точку останова метода. Р>
Дважды щелкните поле рядом с объявлением метода. Появляется точка останова с украшением стрелки. Щелкнув правой кнопкой мыши, чтобы просмотреть свойства, вы можете установить " Приостановить на: " для «Ввод метода» и / или «Метод выхода».
Подробнее о них можно прочитать в Eclipse Cookbook .
Хороший вопрос. С головы до головы, я бы сделал это:
public void method(Object stuff) {
try {
/* normal code */
} finally {
int x = 0;
}
}
Вы можете установить точку останова в строке x = 0, и она будет ВСЕГДА выполняться независимо от того, куда вы вернетесь. Даже если будет сгенерировано исключение, оно будет запущено.
Подвох в этом заключается в объеме. Если вы не определите переменные вне блока try, вы не сможете увидеть их значения там, где вы попадаете в блок finally, поскольку они выйдут из области видимости.
Лучше всего работать с пятью точками останова (по одной для каждого оператора return).
Я надеюсь, что есть лучший способ, я хотел бы знать это.