Разница между catch, catch(Exception) и catch(Exception ex)
1,00
р.
р.
Допустим, я не планирую использовать переменную ex и мне надо, чтобы обрабатывалась любая ошибка. try { ... } catch(Exception ex) { return } Надо ли в таком случае объявлять переменную ex? Или можно сделать так: try { ... } catch(Exception) { return } Или вообще вот так: try { ... } catch { return } В чем разница и как правильнее?
Ответ Переменную нужно объявлять, если в дальнейшем планируется её как-то использовать. Если важен только сам факт перехвата - достаточно указать всего лишь тип. Различие в catch(Exception) и пустом catch имеет место быть, если нужно перехватывать не CLS-совместимые исключения. Более подробнее об этом можно почитать на msdn. По ссылке как раз видно, что есть смысл и в таком коде: catch(Exception) { ... } catch { ... }