‘Building Workspace’ столкнулся с проблемой, информация не может быть нулевой

#java #eclipse #swt

#java #eclipse #swt

Вопрос:

Я программировал SWT-приложение, когда внезапно появилось это сообщение. Я искал в Интернете, но проблема часто была связана с разработкой Android…

Я заметил, что проблема вызвана этой функцией:

 private static int writeCharacter(String p)
    {
        switch(p)
        {
        case "\x0000":
            return 0x0000;
        case "\x0001":
            return 0x0001;
        case "ぁ":
            return 0x0002;
        case "あ":
            return 0x0003;
        case "ぃ":
            return 0x0004;
        case "い":
            return 0x0005;
        case "ぅ":
            return 0x0006;
        ...
        default:
            return 0x0000;
        }
    }
  

(… обозначает многие другие записи)

Что не так, я использую Eclipse 4.3 под Windows 7 Ultimate 64 bit?

РЕДАКТИРОВАТЬ: я обновил Eclipse с 4.3 до 4.4, но проблема все еще существует… Я действительно не знаю, что делать…

Комментарии:

1. Проверьте просмотр журнала ошибок для получения подробной информации о сбое или, по крайней мере, трассировки стека.

2. В нем говорится «Информация не может быть нулевой!», Но ничего конкретного…

Ответ №1:

Хорошо, я искал в Интернете, и, похоже, это распространенная ошибка, связанная с eclipse, а не с кодом Java…

Я решил это, преобразовав switch в mega if-else if-else

 private static int writeCharacter(String p)
    {
        if(p== "\x0000")
            return 0x0000;
        else if(p== "\x0001")
            return 0x0001;
        else if(p== "ぁ")
            return 0x0002;
        else if(p== "あ")
            return 0x0003;
        else if(p== "ぃ")
            return 0x0004;
        else if(p== "い")
            return 0x0005;
        else if(p== "ぅ")
            return 0x0006;
        ...
        else
            return 0x0000;
    }
  

Я надеюсь, что это может кому-то помочь 🙂

Ответ №2:

Возникла та же проблема, которая должна быть ошибкой eclipse в соответствии с bugs.eclipse.org. Должно быть исправлено в eclipse 4.5, но обновление до этой версии мне не помогло.

Я свел проблему компиляции к этой строке кода

 IIOImage iioImage = new IIOImage(im, null, pngmeta);
  

При комментариях eclipse строится правильно.