GWT вызывает DOM.getElementById, не вызывая NullPointerException, когда это должно - PullRequest
4 голосов
/ 19 мая 2011

Есть часть нашего приложения, которая делает это ...

int x = DOM.getElementById("x").getPropertyInt("value");
int y = DOM.getElementById("y").getPropertyInt("value");
int w = DOM.getElementById("w").getPropertyInt("value");
int h = DOM.getElementById("h").getPropertyInt("value");

Каждый вызов DOM.getElemendById("something") возвращает null (что я ожидаю, когда я их удалил), но вызов .getPropertyInt("value") для этого возвращаемого значения null не вызывает исключение NullPointerException. В режиме разработки я могу просмотреть все эти операторы и посмотреть, как все x, y, w, h будут присвоены нулю. Если я оцениваю одно из этих утверждений в оценщике Intellij в отладчике, возникает исключение NullPointerException.

Разве это не кажется кому-то немного безумным?

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

Ничего себе, похоже, что все, что создано типами оверлеев GWT, может это сделать ...

http://code.google.com/p/google-web-toolkit/issues/detail?id=5030

1 голос
/ 19 мая 2011

В документах написано :

Exceptions: try, catch, finally and user-defined exceptions are supported as 
normal, although Throwable.getStackTrace() is not meaningfully supported in 
production mode.

Note: Several fundamental exceptions implicitly produced by the Java VM, most 
notably NullPointerException, StackOverflowError, and OutOfMemoryError, do not 
occur in production mode as such. Instead, a JavaScriptException is produced for 
any implicitly generated exceptions. This is because the nature of the underlying
JavaScript exception cannot be reliably mapped onto the appropriate Java 
exception type.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...