Я использую UndhandledException
предоставленную AppDomain
, что я сделал, по существу, это:Как получить только сообщение из UnhandledException?
static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionTrapper;
}
static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e)
{
e.ExceptionObject.Message? <- there is no message
Console.WriteLine(e.ExceptionObject.ToString());
Console.WriteLine("Press a key for exit.");
Console.ReadLine();
Environment.Exit(1);
}
, как вы можете видеть, что я не могу получить доступ к свойству сообщения, но если установить точку останова я могу см. на e
переменной Message
собственности, почему я не могу использовать это?
Может быть, 'если (e.ExceptionObject является Exception) {((Exception) е. ExceptionObject) .message; } ' – Quantic
А, так что мне нужно бросить его, позвольте мне попробовать. Спасибо за подсказку! – IlDrugo
Никогда, * никогда *, ** никогда ** не делайте этого. Только e.ExceptionObject.ToString() создает разумную диагностику, которая не оставляет, скажем, InnerException на полу. –