2013-09-03 3 views
2

Я просматриваю некоторый Java-код и снова сталкиваюсь с подобным случаем.Использование ключевого слова Strange continue

while (true) 
    try 
    { 
    //some simple statements 
    continue; 
    try { 
     Thread.sleep(1000L); 
    } 
    catch (InterruptedException e) 
    { 
     SamsetUtils.LogError(this.logger, e.getMessage() + ".29"); 
    } 
    if (!SamsetUtils.BlockingDistributorThread) 
    { 
     //some very long and critical code here 
    } 
    } 
    //several catch blocks follow 

В моем понимании, критический код всегда будет опущен, так как по-прежнему оператор всегда будет выполняться и всегда будет начать новую итерацию немедленно. Сначала я отметил похожую ситуацию как ошибку, но на этот раз он поднял мои подозрения, потому что это все часть предположительно рабочего кода, который используется на коммерческой основе. Является ли этот отрывок каким-то образом, каким образом я не знаю?

Аналогичная ситуация здесь:

while (true) 
    try { 
    //some simple statements 

    if (notifications != null) { 
     int i = 0; continue; 

     this.recivedNotifies.add(notifications[i].getName()); 

     i++; if (i >= notifications.length) 
     { 
     makeCallBack(); 
     } 
    } else { 
     Thread.sleep(2000L); 
    } 
    } 
    catch (Exception e) { 
    //catch statements 
    } 
+1

Этот фрагмент не должен даже компилироваться, не говоря уже о правильной работе - компилятор Java должен сообщить об ошибке «недостижимый оператор». Вы уверены, что это точный ** код, который вы видите? –

+0

Да. Это недостижимый код. –

+0

Да, я скопировал и вставил прямо из файла, и только что отредактировал некоторые заявления в отмеченных местах для ясности. Невозможно скомпилировать его сейчас из-за отсутствия проблем с библиотекой, но код был фактически декомпилирован из jar –

ответ

0

Эти фрагменты происходят из декомпилированной коды, и это было действительно декомпилятор путается. Я проверил его с другим, и он произвел разные, хотя и сумасшедшие результаты. Спасибо за помощь.

Смежные вопросы