Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка Unreachable code 
V
    Опции темы
ArtiSoft
  Дата 21.4.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 10.12.2009

Репутация: нет
Всего: нет



Ребята как мне бесит эта ошибка Unreachable code
при таком коде
Код

    public void add()
    {
        mem[4]=0;
        mem[0]=5;
        while(true)
        {
            if ((mem[mem[0]]==0)&&(mem[mem[0]+3]>=mem[254]))
            {
                if ((mem[mem[0]+3]>mem[254])&&(mem[1]<11))
                {
                    while((mem[3]-mem[4]) != 0)
                    {

                    }                
                }

                if ()
                {    

                }
                else
                {

                }

            }
            if ()
            {
                return ;
            }
        }
        painter(); // вот тут ошибка , даже любой правильный оператор написать все равно  
                                    //Unreachable code
    }


А мне нужно именно в этой строке вызвать функцию painter
Пишу в Среде Eclipse
Как избавиться от этого???
PM MAIL   Вверх
Nofate
Дата 21.4.2010, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 13.10.2008

Репутация: 4
Всего: 8



Eclipse тут не причем - он дело говорит. =) 
У вас бесконечный цикл перед этим. А ключевое слово return прекратит выполнение метода именно на том месте, где оно использовано. 


--------------------
The future is not set, there is no fate but what we make for ourselves.
Нофейтово пространство и смежные области 
PM MAIL WWW ICQ   Вверх
dobrolub
Дата 21.4.2010, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



из while(true){} надо выходить как нибудь.

Либо измени условие while( условие ) {}

Либо добавь break;

while(true) { if (условие) break; }

тогда paint() будет 'reachable'


PM   Вверх
CrazyDeveloper
Дата 21.4.2010, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.4.2010
Где: Москва

Репутация: нет
Всего: нет



Ну и правильно делает что пишет. Этот код действительно не достижим (Unreachable code - это код, который никогда не будет выполнен). У вас цикл, который крутится пока не выполнится условие, проверяемое в строках:

Код

            if ()
            {
                return;
            }


После выполнения этого условия, выполнение метода прекратится и управление вернется в точку программы, из которой был вызван метод add(). Следовательно, метод painter() никогда не вызовется из метода add(). Можно заменить 

Код

            if ()
            {
                return;
            }


на 

Код

            if ()
            {
                break;
            }


Тогда при выполнении условия управление будет перебрасываться на первый оператор после while, а это как раз ваш painter().
PM MAIL WWW ICQ GTalk   Вверх
ArtiSoft
Дата 21.4.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 10.12.2009

Репутация: нет
Всего: нет



вообще то там где операторы if есть условия, но я убрал, я просто показываю структуру
Насчет return я так же подумал, пробовал и без него но все равно это ошибка
А вот условие в while еше не менял

Добавлено через 42 секунды
вообще то там где операторы if есть условия, но я убрал, я просто показываю структуру
Насчет return я так же подумал, пробовал и без него но все равно это ошибка
А вот условие в while еше не менял
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.