1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| TarasBer |
5.04.2011 15:54
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
В тему исключений (а то я стесняюсь заводить по 10 тем в день).
Как повесить на исключение дополнительную информацию? А то получается такая фигня:
Совмещение подхода исключений и кодов ошибок в одном флаконе! -------------------- |
![]() ![]() |
| volvo |
6.04.2011 11:02
Сообщение
#2
|
|
Гость |
Цитата Но всё это очень небезопасно и бесконтнольно, и контролируемые объекты таким образом лучше не передавать. Вот именно поэтому Ада не позволяет передавать ничего, кроме строки. Кому-то захочется передавать лимитированные типы, кому-то - тип функциональный, кто-то задумает тэговый передать... А там, глядишь, недалеко и до типов, экспортированных из других языков. Это что будет в результате? Анархия.По-моему, кто-то опять забыл, что такое исключение. Это не механизм для передачи информации из одной части программы в другую. Это - механизм для оповещения, что на каком-то этапе произошла ошибка, и дальнейшая обработка информации - бессмысленна, надо либо повторить попытку, либо завершить программу. Всё, больше исключения не должны использоваться ни для чего. А для оповещения достаточно передать строку с описанием исключительной ситуации. В самом крайнем случае можно передать в виде строки код ошибки, или индекс ошибочного элемента в каком-нибудь хранилище (желательно - глобальном, ибо при использовании локального к нему может не быть доступа в той точке, где исключение поймается). Но передавать сам элемент - этого в языке не было и не будет никогда. И я это поддерживаю. Хотя попытки реализаций передачи объектов, разумеется были. Если интересно - попробую найти, где-то у меня есть в загашниках... Тему разделил. |
TarasBer Обработка исключений (Ada) 5.04.2011 15:54
volvo Вообще-то обычно строку (как сообщение об ошибке) ... 5.04.2011 18:43
TarasBer > Но можно и номер ошибки в строку перевести...... 6.04.2011 8:52
TarasBer В общем, я у всего парсера оставил только одно иск... 7.04.2011 13:40![]() ![]() |
|
Текстовая версия | 16.12.2025 4:27 |