Обработка исключений: нетривиальные действия
От: Илья Сивков Россия http://ilyasivkov.narod.ru
Дата: 04.11.11 11:04
Оценка:
Всем здравствуйте!

Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?

Заранее спасибо!
обработка ошибок exception handling
Re: Обработка исключений: нетривиальные действия
От: IT Россия linq2db.com
Дата: 04.11.11 13:54
Оценка: 1 (1)
Здравствуйте, Илья Сивков, Вы писали:

ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?


Приходилось обрабатывать исключение по поводу блокировки от БД и повторять последний запрос через некоторый промежуток времени.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Обработка исключений: нетривиальные действия
От: Abyx Россия  
Дата: 04.11.11 13:58
Оценка: -1
Здравствуйте, Илья Сивков, Вы писали:

ИС>Всем здравствуйте!


ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?


ИС>Заранее спасибо!


странный вопрос
# псевдокод
try
   file = open_file()
catch FileNotExists
   file = new_file()


замените "обработка исключений" на "обработка ошибок" и попробуйте ответить на этот вопрос
In Zen We Trust
Re: Обработка исключений: нетривиальные действия
От: grosborn  
Дата: 04.11.11 15:46
Оценка: -1
> Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?

Отправить дамп и перезапустить программу. Сейчас все так делают.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Обработка исключений: нетривиальные действия
От: grosborn  
Дата: 04.11.11 15:47
Оценка: -2
# говнокод
> try
> file = open_file()
> catch FileNotExists
> file = new_file()
> [/code]
>
> замените "обработка исключений" на "обработка ошибок" и попробуйте ответить на этот вопрос

"обработка исключений" и "обработка ошибок" это две совершенно разные вещи.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Обработка исключений: нетривиальные действия
От: Abyx Россия  
Дата: 04.11.11 16:06
Оценка:
Здравствуйте, grosborn, Вы писали:

G># говнокод

>> try
>> file = open_file()
>> catch FileNotExists
>> file = new_file()
>> [/code]
>>
>> замените "обработка исключений" на "обработка ошибок" и попробуйте ответить на этот вопрос

G>"обработка исключений" и "обработка ошибок" это две совершенно разные вещи.

это не так.
в общем случае, это может быть одно и тоже.
throw (raise) statement такое же средство языка как и return statement, и его можно использовать для разных целей, и для обработки ошибок, и для обработки не-ошибок.
эта тема не в разделе конкретного языка, так что возможны варианты
In Zen We Trust
Re[4]: Обработка исключений: нетривиальные действия
От: grosborn  
Дата: 04.11.11 16:28
Оценка: -1 :)
> throw (raise) statement такое же средство языка как и return statement

RTFM
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[5]: Обработка исключений: нетривиальные действия
От: Abyx Россия  
Дата: 04.11.11 17:54
Оценка:
Здравствуйте, grosborn, Вы писали:

>> throw (raise) statement такое же средство языка как и return statement


G>RTFM


what manual?

Я читал manual python'а, там итератор для завершения цикла бросает исключение.
Может Вы сами каких-то manual'ов не читали, и по этому, по незнанию, бросаетесь всякими громкими заявлениями?
In Zen We Trust
Re: Обработка исключений: нетривиальные действия
От: pagrus  
Дата: 04.11.11 20:53
Оценка:
ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?

Встречались, напирмер:

* Сделать ещё N попыток получить DB-соединение

* Отослать нотификацию об ошибке

* Подождать, пока DB не станет снова доступна

* Изменить статус затронутых сущностей в DB

* Транслировать ошибку в подходящий тип, который откатит или не откатит транзакцию.
Re: Обработка исключений: нетривиальные действия
От: VladZanuda  
Дата: 06.11.11 04:48
Оценка:
Здравствуйте, Илья Сивков, Вы писали:

ИС>Всем здравствуйте!


ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?


ИС>Заранее спасибо!


В Linq есть First и FirstOrDefault
Во всяких IoC есть Resolve и ResolveOptional

Есть еще самая гавенная жалоба из техподдержки — у клиента NullReferenceException. Без обновления ее обычно не разрешить.
Re: Обработка исключений: нетривиальные действия
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.11.11 06:22
Оценка:
Здравствуйте, Илья Сивков, Вы писали:

ИС>Всем здравствуйте!


ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?


ИС>Заранее спасибо!

Есть такая малоизвестная программа DirSync для Microsoft Online.
Вот у них там очень много кода занимается авто-повторами.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Обработка исключений: нетривиальные действия
От: os24ever
Дата: 17.03.12 16:17
Оценка:
ИС>Все примеры обработки исключение, что мне попадались, сводились к выводу сообщений об ошибке. Встречались ли кому-нибудь случаи более сложного поведения, когда программа пытается что-то сделать сама (например, повторить действие с другими параметрами)?

1) Встречались (обсуждалось ранее
Автор: TheOldMan
Дата: 28.12.11
)
2) Сам использую только для ведения логов
Re[6]: Обработка исключений: нетривиальные действия
От: __kot2  
Дата: 19.03.12 08:49
Оценка:
Здравствуйте, Abyx, Вы писали:
A>Я читал manual python'а, там итератор для завершения цикла бросает исключение.
фу, отстой
Re[2]: Обработка исключений: нетривиальные действия
От: Философ Ад http://vk.com/id10256428
Дата: 21.03.12 08:44
Оценка:
Здравствуйте, Abyx, Вы писали:

if (!File_exists())
{
CreateFile()
}
Всё сказанное выше — личное мнение, если не указано обратное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.