точка прерывания затмения: остановка перед выходом из метода Java

StackOverflow https://stackoverflow.com/questions/198041

Вопрос

Есть ли способ сказать отладчику, чтобы он остановился непосредственно перед возвратом, в зависимости от того, какой оператор выходит из метода, будь то возврат, исключение или выпадение в нижней части? Меня вдохновляет тот факт, что редактор 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).

Я надеюсь, что есть лучший способ, я хотел бы знать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top