| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > проблемы с Integer |
| Автор: Гость_pgood 3.11.2005, 16:58 |
| Может ли быть такое или это что-то у меня глючит?: String s = "1"; // к примеру Integer i = new Integer(s); try{ i.intVale(); } catch(NullPointerException e){ System.out.println("i="+i); } в результате выбрасывается исключение и выводится следующий результат: i=1 |
| Автор: batigoal 3.11.2005, 17:15 |
| Да вроде не должно быть никаких исключений... |
| Автор: val 3.11.2005, 17:21 | ||
Вот такой код:
выдаёт "I = 1", так вы не совсем правы, в исключение мы не заходим... |
| Автор: pgood 3.11.2005, 17:25 | ||||
| на самом деле строку с цифрой я получаю из формы на JSP страничке через javax.servlet.http.HttpServletRequest request при чем этот request MULTIPART/FORM-DATA, но сути это не меняет, при try{ Integer i = new Integer(s); } catch(NumberFormatException e){} исключение не выбрасывается Добавлено @ 17:27
если не ловить исключение, то его ловит AppServer. так что исключение точно выбрасывается |
| Автор: pgood 3.11.2005, 18:04 |
| ну....., у кого-нть мысли есть? а то я уже всю голову сломал |
| Автор: allex 3.11.2005, 18:10 |
| pgood Не в ту сторону копаешь. Опять же, неплохо бы StackTrace у exception посмотреть. |
| Автор: LSD 3.11.2005, 18:38 | ||||
pgood такого не может быть в принципе, если конструктор не отработает нормально и будет выброшено исключение то кусок кода
не будет выполнен. Если же конструктор отработает без ошибок, то переменная i получит не null значение. Метод i.intVale() тоже не может выкидывать NullPointerException, достаточно посмотреть его код:
Так что ты действительно не там ищешь ошибку, смотри StackTrace ошибка у тебя в другом месте. |
| Автор: hatsumeika 3.11.2005, 18:58 |
| могу предположить, что s = null. но в этом случае происходит вот что: java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:415) at java.lang.Integer.<init>(Integer.java:620) at image.ImageRW.m(ImageRW.java:22) at image.ImageRW.main(ImageRW.java:11) |
| Автор: corewithin 3.11.2005, 19:59 |
| ого предложолил... NumberFormat и NullPointer exceptions явно не сродни друг другу... 2pgood: даешь stack trace и code sample... не боись ) тырить идеи никто не будет ) |
| Автор: Guest 4.11.2005, 12:02 | ||
весь код сложно дать, там много классов завязано, дам только этот класс
исключение выбрасывается на 78,83,88, но на 78 там значение действительно null, а на 83, 88, на печать выводится значение заданное в строке при конструировании. Значения задаются в конструкторе класса, строки 36,39,42 |
| Автор: Guest 4.11.2005, 12:13 |
| LSD я понимаю, что такого в принципе не может быть, поэтому к вам и обратился, может я где-то парюсь |
| Автор: LSD 4.11.2005, 12:26 |
| Так посмотри на код у тебя в 78 строке stmt.setInt(COLUMN_NUM_PRODUCT_ID,getProductId().intValue());, в 83 stmt.setInt(COLUMN_NUM_CATEGORY_ID,getProductId().intValue()); и в 88 stmt.setInt(COLUMN_NUM_TRADER_ID,getProductId().intValue());. Ты везде запрашиваешь один и тот же ProductId который действительно null, а на печать в catch выводишь другие поля. |
| Автор: pgood 4.11.2005, 12:44 |
| |