c# обработка исключений (сбор всех вместе, сортировка другим методом) - PullRequest
0 голосов
/ 18 июня 2020

Я сейчас работаю над обработкой исключений. Я использую

try
{
   stuff();
}
catch (NullReferenceException ex)
{
   logTheError(ex, "NullReferenceException", "functionname");
}
catch (Exception ex)
{
   logTheError(ex, "Exception", "functionname");
}

. Я хочу перехватить здесь все исключения и обработать их в функции logTheError (которая уже записывает запись в базу данных для дальнейшего использования). Но мне не удалось проверить здесь исключение, если это, например, NullReferenceException.

if (ex == NullReferenceException)
or
if (ex.GetType == NullReferenceException)

Это не сработало. Я думаю, что есть довольно простое решение. Я также хочу знать, смогу ли я получить имя исключения (возможно, это тип?)

Заранее спасибо!

1 Ответ

0 голосов
/ 18 июня 2020

Попробуйте так:

try
{
    stuff();
}
catch ( Exception ex )
{
    logTheError( ex, "Exception", "functionname" );
}

А потом в функции логирования:

if ( ex is NullReferenceException )
    handleNullreference();
else if ( ex is KeyNotFoundException )
    handleKeyNotFound();
// ...
else
    handleUnknown();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...