Есть ли способ проверить исключение переменной-члена объекта или нет?
Например, у меня есть объект получателя, называемый rcp. AddressEntry является членом этого объекта. Я хочу проверить исключение члена перед использованием AddressEntry.
Я хочу закодировать метод проверки переменной-члена, но у меня нет идей. Не используйте try-catch
private voice GetEmail(Outlook.NameSpace otl, string email){
//...
Recipient rcp = otl.CreateRecipient(email);
if (rcp != null && CheckException(rcp))
{
//do my code
}
//...
}
private bool CheckException(Recipient rcp)
{
//if AddressEntry of rcp object does not threw exception, return true
return false;
}
Не могли бы вы дать мне советы или предложения по этому поводу?
Выполнение потока управления на основе исключений известно как анти-шаблон.
Вам нужно разработать свой код таким образом, чтобы он не знал, собирается ли он генерировать исключение, и если он это делает, вам нужно поймать эти исключения и восстановить ваше приложение или показать пользователю ошибку через пользовательский интерфейс чтобы сообщить, что все приложение вот-вот рухнет.
Исключения являются исключительными случаями, и вам необходимо сосредоточиться на обычных случаях.
Я бы сказал, что ваш код должен выглядеть примерно так:
try
{
Recipient rcp = otl.CreateRecipient(email);
if (rcp != null)
{
//do my code
}
//...
}
catch(COMException e)
{
// Show a message box, alert, whatever relevant to your users
}