Не рекомендуется просто ловить System.Exception
. Вместо этого следует поймать только "известные" исключения.
Теперь это иногда приводит к ненужному повторяющемуся коду, например:
try
{
WebId = new Guid(queryString["web"]);
}
catch (FormatException)
{
WebId = Guid.Empty;
}
catch (OverflowException)
{
WebId = Guid.Empty;
}
Интересно: есть ли способ уловить оба исключения и вызвать только вызов WebId = Guid.Empty
один раз?
Данный пример довольно прост, так как он только GUID
. Но представьте код, в котором вы изменяете объект несколько раз, и если одна из манипуляций завершится неудачно, вы хотите "reset" object
. Однако, если есть непредвиденное исключение, я все равно хочу сделать это выше.