Свойство HResult
Свойство HResult возвращает код в формате
HRESULT. У обычного Exception без
особых настроек часто встречается значение
-2146233088. Его смотрят при
диагностике вместе с Message.
Синтаксис
int code = ex.HResult;
Пример
Давайте вывести HResult у Exception:
using System;
class Program
{
static void Main()
{
try
{
throw new Exception("abcde");
}
catch (Exception ex)
{
Console.WriteLine(ex.HResult);
}
}
}
Результат выполнения кода:
-2146233088
Пример
Давайте сохранить код в res и сравнить:
using System;
class Program
{
static void Main()
{
try
{
throw new Exception("12345");
}
catch (Exception ex)
{
int res = ex.HResult;
Console.WriteLine(res == -2146233088);
}
}
}
Результат выполнения кода:
True
Пример
Давайте прочитать HResult у своего исключения:
using System;
class CodeException : Exception
{
public CodeException(string message) : base(message) { }
}
class Program
{
static void Main()
{
try
{
throw new CodeException("abcde");
}
catch (Exception ex)
{
Console.WriteLine(ex.HResult);
}
}
}
Результат выполнения кода:
-2146233088