Наскоро попаднах на код, написан от колега програмист, в който той имаше оператор try-catch вътре в catch!
Моля, извинете ме за невъзможността да поставя действителния код, но това, което той направи, беше нещо подобно на това:
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
Аз лично смятам, че това е един от най-лошите кодове, които съм виждал! По скала от 1 до 10 колко скоро смятате, че трябва да отида и да му дам част от ума си, или реагирам прекалено?
РЕДАКТИРАНЕ: Това, което той всъщност прави в catch, той извършва някои операции, които могат/трябва да бъдат направени, когато първоначалният опит е неуспешен. Проблемът ми е с чист код и поддръжка. Делегирането на изключението от първия catch на друга функция или извикващата функция би било ОК, но добавянето на повече код, който може или не може да хвърли изключение в първия catch, е това, което чувствах, че не е добре. Опитвам се да избягвам множество подредени изрази "if-loop", намерих това също толкова лошо.