![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| кварк |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 2.8.2002 Репутация: нет Всего: нет |
Мучаюсь вопросом: ловлю exception.
А как проанализировать, какое именно исключение поймано? Неужели строки сравнивать? Так при разных локальных установках, строки Message, видимо, тоже разными будут (мной лично не проверено). Как быть? Может, есть какой-нибудь числовой идентификатор, которого я не нашел? |
|||
|
||||
| SPrograMMer |
|
|||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: 2 Всего: 6 |
Строки сравнивать это уж сильно
Каждое Exception принадлежит какому-то классу, например,
Это сообщение отредактировал(а) SPrograMMer - 26.11.2004, 09:45 -------------------- животное = зверь законченный гентушник |
|||
|
||||
| кварк |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 2.8.2002 Репутация: нет Всего: нет |
Э... А если я не знаю класса? Хотя знаю, дебагер выдает: EOleException. А уж у этого класса есть ErrorCode. Его, по всей видимости, и надо смотреть. Ведь так? :-)
|
|||
|
||||
| <Spawn> |
|
||||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Зачем тебе код ошибки? Забудь про них. Экземпляр класса ошибки уже дает понять в чем дело. Например:
Аналогичный вариант:
Это сообщение отредактировал(а) <Spawn> - 26.11.2004, 12:02 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||||
|
|||||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
кварк, а для чего именно ты хочешь отлавливать ошибку. Если для того, чтобы дать более понятное сообщение, то во первых можно перевести все тексты сообщений, которые имеются в Delphi (могу дать уже переведенные), во вторых можно к тому сообщению, которое у тебя имеется в e.Message в начало добавить осмысленный текст к примеру:
Если ты хочешь получить всю информацию об ошибки и строке в модуле, где она произошла, после чего записать это в лог, то тут тебе поможет технология map-файлов. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| кварк |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 2.8.2002 Репутация: нет Всего: нет |
Надо перебрать записи. Функция перебора (не мной написанная) возвращает исключение: нет больше записей. Если его поймаешь, то больше ничего делать не надо. А если я поймаю чего-то другое? - задумался я. То есть как-то надо отличить в общем то, нормальную ситуацию от ненормальной. Сделал как написал ранее, через ErrorCode:
Вроде, работать будет достаточно надежно. Или я не прав? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |