Возможный дубликат:
Устраняются ли попытки/блокировать блоки, если исключения не выбрасываются?
Привет всем, Просто быстрый вопрос о блоках try..catch. Я слышал, что они дороги для использования и не должны использоваться как часть потока программы. Однако для проверки адресов электронной почты я использую следующий код.
try
{
MailAddress checkEmail = new MailAddress(testEmail);
return true;
}
catch
{
return false;
}
В связи с предшествующей проверкой я не исключаю исключения, если не попытается обойти проверку. Мой вопрос в том, что вы пытаетесь... Ловить блоки только дорого, если исключение поймано или оно всегда дорого, независимо от того, выбрано ли какое-либо исключение?
Спасибо
EDIT: Спасибо за все ответы. Я решил, что, поскольку проверка (на С#) не очень дорога, я буду придерживаться этого метода. Это происходит главным образом из-за того, что выбрасывается реальное исключение, поскольку есть предшествующие шаги проверки, которые гарантируют, что никто случайно не введет неверный адрес электронной почты.