From 0bb2b3ed5ff712a2f66d52cda1fdddd5184d71c3 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Mon, 14 Mar 2016 20:51:29 +0100 Subject: [PATCH] Add UnobservedTaskExceptionHandler, thank you @Netshroud --- ArchiSteamFarm/Logging.cs | 2 +- ArchiSteamFarm/Program.cs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ArchiSteamFarm/Logging.cs b/ArchiSteamFarm/Logging.cs index 1539744a9..39ec2d06a 100644 --- a/ArchiSteamFarm/Logging.cs +++ b/ArchiSteamFarm/Logging.cs @@ -69,7 +69,7 @@ namespace ArchiSteamFarm { } Log("[!] EXCEPTION: " + previousMethodName + "() <" + botName + "> " + exception.Message); - Log("[!] StackTrace: " + exception.StackTrace); + Log("[!] StackTrace:" + Environment.NewLine + exception.StackTrace); if (exception.InnerException != null) { LogGenericException(exception.InnerException, botName, previousMethodName); diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index 3e048bcce..932c06013 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -414,8 +414,17 @@ namespace ArchiSteamFarm { Logging.LogGenericException((Exception) args.ExceptionObject); } + private static void UnobservedTaskExceptionHandler(object sender, UnobservedTaskExceptionEventArgs args) { + if (sender == null || args == null) { + return; + } + + Logging.LogGenericException(args.Exception); + } + private static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionHandler; + TaskScheduler.UnobservedTaskException += UnobservedTaskExceptionHandler; Logging.LogGenericInfo("Archi's Steam Farm, version " + Version); Directory.SetCurrentDirectory(ExecutableDirectory);