internal static void HandleError(ErrorType type, string message) { string logLine = $"{type.ToString().ToUpper()}: {message}"; errorLog.Add(logLine); TextWriter.AppendFile(FilePaths.errorLogFilePath, logLine); switch (type) { case ErrorType.Log: { Debug.WriteLine(logLine); } break; case ErrorType.Alert: { Debug.WriteLine(logLine); Messenger.Show(message, "Error!"); } break; case ErrorType.Critical: { Debug.WriteLine(logLine); Messenger.Show(message, "Critical Error!"); //TODO(adam): abort from here? } break; default: throw new ArgumentException("Invalid ErrorType."); } }