Оба блока действительны.
У первого не будет переменной исключения.
Если вы не собираетесь ничего делать с переменной исключения, но по-прежнему хотите перехватывать определенные исключения, вытакже можно сделать:
try
{
// your code here
}
catch(SpecificException)
{
// do something - perhaps you know the exception is benign
}
Однако для удобства чтения я бы выбрал второй вариант и использовал переменную исключения.Одна из худших вещей, которые нужно делать с исключениями, - молча глотать их - как минимум, зарегистрировать исключение.