бросить исключение с InnerException c # - PullRequest
0 голосов
/ 10 июля 2019

Я работаю над кодом, который хранит Exception.InnerException в дБ:

try
{        
    // what should I throw here?
}
catch (Exception ex)
{
    errorService.Save(ex.InnerException);
}

Какое исключение (тип исключения) я должен выбросить, чтобы проверить мой код?

1 Ответ

3 голосов
/ 10 июля 2019
throw new ArgumentException(); // what should I throw here?

Этот пример не очень понятен, исключение ArgumentException будет редко иметь исключение.Но когда вы действительно хотите:

 new ArgumentException("parameter-name", previouseException);

или, может быть,

new Exception("I'm just a wrapper", new ArgumentException("parameter-name"));

Во время обработки, что если нет InnerException или InnerException снова имеет InnerException?

Что вы, вероятно, хотите:

catch (Exception ex)
{
    while(ex.InnerException != null)  ex = ex.InnerException;
    errorService.Save(ex);
    // throw; here unless you're very sure about handling everything 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...