![]() |
|
||||||||||
|
|||||
|
Программируя на Яве, мы получаем великолепное средство отловки ошибок. В 7ом флэше появились зачаточные методы, напоминающие Яву:
try { // ... try block ... } catch(error[:ErrorType1]) { // ... catch block ... } [catch(error[:ErrorTypeN]) { // ... catch block ... }] [finally { // ... finally block ... }] Но всё равно нет автоматической отловки таких ошибок, как IndexArrayOutOfBoundsException, NullPointerException, CastException, IOException... Парсер кода не может найти такие ошибки. При создании класса мы на шаг приближаемся к наиболее быстрому нахождению ошибки: парсер уже может указать нам, что метод ссылается на отсутствующее поле класса или метод класса. Появилась неплохая сигнатура методов и полей, возможность строгой типизации, но нельзя поставить брейпоинты в классе. Нет методов для копирования объектов, поэтому возможно ошибки из-за непонимания, что копируется по значению, а что по ссылке. String ведь например в Яве сложный объект. firstArray = new Array(10,20,30); secondArray = firstArray; secondArray[0] = 20; trace(firstArray); // firstString = "flash"; secondString = firstString; secondString += " string"; trace(firstString); Ну ладно там массив, а что если нужно было клонировать более сложный объект? Персистенции и сериализации тут нет... Если инклудить файлы, то там должен быть заведомо правильный код, потому что дебагить его невозможно. Вопрос достаточно пространный к профессионалам. Если Вы считаете, что ситуация с дебагом не так плоха, то какие аргументы Вы можете привести в пользу того, что на флэше можно успешно дебагить. И как можно бороться с проблемой брейкпоинтов в классах и внешних файлах? с проблемой отсутствия сообщений о таких ошибках как NullPointerException или IndexArrayOutOfBoundsException.
__________________
Не всё то флэш, что шевелиться. |
![]() |
Часовой пояс GMT +4, время: 13:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|