Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Обсуждение работ > Не сайты

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2010, 22:51
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 11  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
try вообще лучше не использовать там, где можно обойтись без него.

Старый 07.05.2010, 02:36
Smrad вне форума Посмотреть профиль Отправить личное сообщение для Smrad Найти все сообщения от Smrad
  № 12  
Ответить с цитированием
Smrad

Регистрация: Nov 2008
Сообщений: 205
Отправить сообщение для Smrad с помощью ICQ
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
try вообще лучше не использовать там, где можно обойтись без него.
Без исключений можно обойтись всегда, значит не использовать из совсем ? Коды возврата, C-style?

Ну и скриншот из второго поста, как бы говорит что это не тот случай, когда можно обойтись . Хотя я до сегодняшнего дня даже и не знал, что flash.media::Sound/play может выбросить исключение.

Старый 07.05.2010, 02:58
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 13  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
а я иногда использую исключение, когда надо быстро выйти из n-вложенной ф-ии (не в смысле, что она определена в другой, а та в третьей и т.д., а в том, что одна вызывает другую, та третью и т.д.) и на нужном уровне перехватываю исключение.
__________________
скриптограф

Старый 07.05.2010, 10:56
Сабир вне форума Посмотреть профиль Отправить личное сообщение для Сабир Посетить домашнюю страницу Сабир Найти все сообщения от Сабир
  № 14  
Ответить с цитированием
Сабир
[+1 19.02.17]
 
Аватар для Сабир

Регистрация: Mar 2007
Адрес: Избербаш
Сообщений: 1,509
Записей в блоге: 3
Увлекательно. Только людей жалко. Надо бы всяких одиозных личностей подвесить.

Старый 07.05.2010, 12:58
Smrad вне форума Посмотреть профиль Отправить личное сообщение для Smrad Найти все сообщения от Smrad
  № 15  
Ответить с цитированием
Smrad

Регистрация: Nov 2008
Сообщений: 205
Отправить сообщение для Smrad с помощью ICQ
Цитата:
Сообщение от Сабир Посмотреть сообщение
Увлекательно. Только людей жалко. Надо бы всяких одиозных личностей подвесить.
Гитлеров?

Старый 07.05.2010, 14:00
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 16  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
Try нужно использовать, но к месту. Например, насколько я помню, была такая ситуация, что нужно сохранение > 100КБ в шаредОбжект сделать.

Выяснить, установил ли пользователь размер шареда в настройках флеша на >100Kb можно было только через трай\кетч, при этом в трае был so.flush(), а в кетче вызывалось окно System.showSettings(1);.. Как то так примерно

В остальных случаях try почти бесполезен, как правило

Старый 07.05.2010, 16:14
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 17  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Без исключений можно обойтись всегда, значит не использовать из совсем ? Коды возврата, C-style?
TERRORist сказал пример, когда использовать можно. Если есть вариант, где его не использовать - значит его не использовать. Даже в одной строчке кода может быть много RTE, обернув её в try мы уже потенциально не узнаем о возможной ошибке там. Это уже не говоря что try жутко медленный.

orcpochta, то что вы сказали называется стек. То что вы делаете - называется хрень, RTE созданы для ошибок, а не для штатных ситуаций. Если вы предполагаете, что у вас в штатной ситуации должно вызваться RTE - у вас явно проблемы с архитектурой. С вами и вашим кодом с такими подходами я бы работать не захотел.

Старый 07.05.2010, 17:35
Smrad вне форума Посмотреть профиль Отправить личное сообщение для Smrad Найти все сообщения от Smrad
  № 18  
Ответить с цитированием
Smrad

Регистрация: Nov 2008
Сообщений: 205
Отправить сообщение для Smrad с помощью ICQ
Цитата:
Сообщение от TERRORist Посмотреть сообщение
Try нужно использовать, но к месту.
Еще раз, flash.media::Sound/play может выбросить исключение, не могу представить как это получилось, но факт. Стало быть обернуть play в try/catch и есть то самое использование к месту. Я полагаю, что когда вы писали свой первый пост в этом топике, то просто не знали об этом, впрочем, я вот тоже не знал. Остальные play обернуты по причине того, что звуки в игре ассоциированы со строками, т.е. что-то в духе SoundManager.plya(sound_name), а собственно flash.media::Sound создается посредством getDefinition, который может выбросить исключение в случае ошибочного sound_name. Так что делать заключения о том хороший кодер или плохой кодер на основании минимальной информации на форуме делают вас не очень хорошим HR . Последняя фраза шутка, если что.

Добавлено через 3 минуты
Цитата:
Сообщение от orcpochta Посмотреть сообщение
а я иногда использую исключение, когда надо быстро выйти из n-вложенной ф-ии (не в смысле, что она определена в другой, а та в третьей и т.д., а в том, что одна вызывает другую, та третью и т.д.) и на нужном уровне перехватываю исключение.
Использование throw вместо goto, порождает тот же самый спагетти код, что и goto .

Добавлено через 12 минут
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
TERRORist сказал пример, когда использовать можно. Если есть вариант, где его не использовать - значит его не использовать. Даже в одной строчке кода может быть много RTE, обернув её в try мы уже потенциально не узнаем о возможной ошибке там.
Исключения и созданы для более простой обработки ошибок, а не чтобы затруднить отладку.

Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Это уже не говоря что try жутко медленный.
Напишите простой тест производительности, откроете для себя много нового .

Старый 07.05.2010, 18:04
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 19  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Напишите простой тест производительности, откроете для себя много нового .
Это показывали ещё в презентациях старых о производительности. Тесты писать лень, для разницы надо сделать глубокий стек, т.к. при RTE он выгружается.

Цитата:
Исключения и созданы для более простой обработки ошибок, а не чтобы затруднить отладку.
RTE созданы для облегчения отладки. try-catch для мест, в которых ошибки никак не избежать, или избегать её глупо. Если когда фп дал Вам ошибку, которую Вы не состоянии понять и Ваше решение было обернуть это в try-catch - это Ваше и только Ваше право. Только ни о каких гарантиях работоспособности этого кода идти речь не может.

Старый 07.05.2010, 18:36
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 20  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Psycho Tiger, smrad, я не соглашусь с вами.

На живом примере: есть лабиринт, который надо обойти, событие "выход найден" возникает раз за несколько сот-тысяч "шагов" в зависимости от размера лабиринта, при этом надо обязательно вернуться на несколько уровней выше, чтобы продолжить стандартные схемы движения, но уже в направлении выхода. Если бы не возможность выбросить ошибку, мне бы пришлось в каждом надметоде определятьне вернул ли вложенный ниже метод нечто, сигнализирующее, что лабиринт найден. В итоге в зависимости от глубины вложенности мы имеем n дополнительных проверок, помноженных на несколько сот-тысяч шагов. Ну и зачем мне это надо?
__________________
скриптограф

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:20.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.