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