Вниз  Обучение
Тема закрыта
- 13.06.2011 / 07:57
SOS_Java
  Пользователь

SOS_Java 
Сейчас: Offline
DeadAn, в метод паинт:
public void paint(Graphics g){
LayerManager lm=new LayerManager();
TiledLayer tl=LoadTL.getTL(..);
lm.append(tl);
lm.paint(g, 5,5);
}
- 20.06.2011 / 19:55
Vano
  Пользователь

Vano 
Сейчас: Offline
Подскажите новичку. Учусь по Горнакову. По ходу разбора кода встречается строки
  1. try {
  2. // тра-та-та. загрузка изображения
  3. } catch(java.io.IOExeption ex){}
Что за try и catch. Как правильно перевести на русский и почему используется именно при загрузке изображения? Что значит "IOExeption указывает на исключение ввода-вывода"? Где ещё это используется? Автор пропускает это без объяснения

Изменено Vano (20.06 / 19:55) (всего 1 раз)
- 20.06.2011 / 20:01
P@bloid
  Пользователь

P@bloid 
Сейчас: Offline
Vano, try - попытаться, значит попытаться выполнить код в скобках.
catch - ловить. если во время выполнения произойдет ошибка "IOException", то выполнится код во вторых скобках. Ошибка можен возникнуть например, если ты забыл записать картинку в архив
- 20.06.2011 / 20:06
mrEDitor
  Пользователь

mrEDitor 
Сейчас: Offline
Vano (20.06.2011/19:55)
Что за try и catch. Как правильно перевести на русский и почему используется именно при загрузке изображения? Что значит "IOExeption указывает на исключение ввода-вывода"?
try - попробовать
catch - ловить

Эта конструкция нужна для обработки ошибок. В блок try помещается код, при работе которого может возникнуть ошибка, а каждый блок catch предписывает, что делать в случае возникновения определенной ошибки. Примеры:
IOException - ошибка ввода/вывода при загрузке файла в приложение, возникает, например, если не найден файл
IndexArrayOutOfBoundsException возникает при попытке использования несуществующей ячейки массива
NullPointerException возникает при попытке использования неинициализированной (пустой, null) переменной как ссылке на объект класса

Надеюсь, понятно обьяснил. Кстати, почитай ещё Буткевича, там отлично описана работа с ошибками
- 20.06.2011 / 20:09
Vano
  Пользователь

Vano 
Сейчас: Offline
Ну дословный перевод и я знаю. Но, кажется, понял при чем здесь трай.
А, то есть это ошибка может быть чисто во время разработки. Я думал какие-то ошибки уже во время готовой программы.
И ещё. У Горнакова в примере создается программа с одним классом. Он называет этот класс, к примеру, HelloMIDLet. Я пишу через Java SDK 3. Если у меня один класс в программе - он обязательно должен называться Midlet. К примеру
  1. public class Midlet extends MIDlet
КРУТОЙ ФОРУМ! Так быстро отвечают. Не ожидал) Спасибо!
Хорошо. Почитаю. Но вначале хотя бы половину Горнакова уже пройду.

Изменено Vano (20.06 / 20:11) (всего 2 раза)
- 20.06.2011 / 20:12
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Vano, public class Midlet extends MIDlet
Если так напишешь, файл назови Midlet, объявление и имя связаны. :)
- 20.06.2011 / 20:14
Vano
  Пользователь

Vano 
Сейчас: Offline
kiriman, я так и делаю. но если я называю файл helloMidlet и единственный класс называю так же, то эмулятор (kemulator) указывает, что класс Midlet отсутствует.

Изменено Vano (20.06 / 20:14) (всего 1 раз)
- 20.06.2011 / 20:14
aleksey
  Пользователь

aleksey 
Сейчас: Offline
Vano (20.06.2011/19:55) Подскажите новичку. Учусь по Горнакову. По ходу разбора кода встречается строки
  1. try { // тра-та-та. загрузка изображения } catch(java.io.IOExeption ex){}
Что за try и catch. Как пра
try это специальная конструкция, использующаяся для перехвата ошибок программой. Всё что заключено в блок try проверяется JVM на специально предусмотренные исключения(Exception). Например IOExeption - это исключение отсутствия файла(например картинки). Если в блоке try случается ошибка, то программа выходит из блока try и начинает выполнять блок catch, который следует сразу за блоком try. Блоков catch может быть несколько(это сделано для перехвата разных исключений) Например catch(IOExeption ioe) {} перехватит отсутствие файла, а catch(MediaException me) {} перехватит ошибки с плеером.
- 20.06.2011 / 20:15
P@bloid
  Пользователь

P@bloid 
Сейчас: Offline
Vano, надо в манифест указывать имя helloMidlet
- 20.06.2011 / 20:16
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Vano, public class Midlet extends MIDlet
Конструктор если будет таким:
Midlet(){} - Эмуль не найдет мидлет
Класс публичный, конструктор такой же, т.е.
public Midlet(){}, у меня обычно с этим запары были.
В этом случае, файл называй Midlet.java
Наверх  Всего сообщений: 1086
Фильтровать сообщения
Поиск по теме
Файлы топика (62)