From d14c2320150c208016fbcbfe323ea97fd45a9565 Mon Sep 17 00:00:00 2001 From: Perfare Date: Fri, 28 May 2021 03:27:50 +0800 Subject: [PATCH] Improve the error message --- AssetStudio/AssetsManager.cs | 23 ++++++++++++----------- AssetStudio/Logger.cs | 8 ++++++++ AssetStudio/TypeTreeHelper.cs | 4 ++-- AssetStudioGUI/GUILogger.cs | 19 +++++++++++++------ 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 762d3dc..40bda3d 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Text; using static AssetStudio.ImportHelper; namespace AssetStudio @@ -108,10 +109,10 @@ namespace AssetStudio } } } - catch + catch (Exception e) { + Logger.Error($"Error while reading assets file {fileName}", e); reader.Dispose(); - //Logger.Warning($"Unable to load assets file {fileName}"); } } else @@ -136,9 +137,9 @@ namespace AssetStudio assetsFileList.Add(assetsFile); assetsFileListHash.Add(assetsFile.fileName); } - catch + catch (Exception e) { - //Logger.Error($"Unable to load assets file {fileName} from {Path.GetFileName(originalPath)}"); + Logger.Error($"Error while reading assets file {fileName} from {Path.GetFileName(originalPath)}", e); resourceFileReaders.Add(fileName, reader); } } @@ -165,14 +166,14 @@ namespace AssetStudio } } } - catch + catch (Exception e) { - /*var str = $"Unable to load bundle file {fileName}"; + var str = $"Error while reading bundle file {fileName}"; if (parentPath != null) { str += $" from {Path.GetFileName(parentPath)}"; } - Logger.Error(str);*/ + Logger.Error(str, e); } finally { @@ -207,9 +208,9 @@ namespace AssetStudio } } } - catch + catch (Exception e) { - //Logger.Error($"Unable to load web file {fileName}"); + Logger.Error($"Error while reading web file {fileName}", e); } finally { @@ -344,13 +345,13 @@ namespace AssetStudio } catch (Exception e) { - /*var sb = new StringBuilder(); + var sb = new StringBuilder(); sb.AppendLine("Unable to load object") .AppendLine($"Assets {assetsFile.fileName}") .AppendLine($"Type {objectReader.type}") .AppendLine($"PathID {objectInfo.m_PathID}") .Append(e); - Logger.Error(sb.ToString());*/ + Logger.Error(sb.ToString()); } Progress.Report(++i, progressCount); diff --git a/AssetStudio/Logger.cs b/AssetStudio/Logger.cs index 20f067b..ad49398 100644 --- a/AssetStudio/Logger.cs +++ b/AssetStudio/Logger.cs @@ -14,5 +14,13 @@ namespace AssetStudio public static void Info(string message) => Default.Log(LoggerEvent.Info, message); public static void Warning(string message) => Default.Log(LoggerEvent.Warning, message); public static void Error(string message) => Default.Log(LoggerEvent.Error, message); + + public static void Error(string message, Exception e) + { + var sb = new StringBuilder(); + sb.AppendLine(message); + sb.AppendLine(e.ToString()); + Default.Log(LoggerEvent.Error, sb.ToString()); + } } } diff --git a/AssetStudio/TypeTreeHelper.cs b/AssetStudio/TypeTreeHelper.cs index 52bb2ea..1b133cd 100644 --- a/AssetStudio/TypeTreeHelper.cs +++ b/AssetStudio/TypeTreeHelper.cs @@ -17,7 +17,7 @@ namespace AssetStudio var readed = reader.Position - reader.byteStart; if (readed != reader.byteSize) { - Logger.Error($"Error while read type, read {readed} bytes but expected {reader.byteSize} bytes"); + Logger.Info($"Error while read type, read {readed} bytes but expected {reader.byteSize} bytes"); } } @@ -169,7 +169,7 @@ namespace AssetStudio var readed = reader.Position - reader.byteStart; if (readed != reader.byteSize) { - Logger.Error($"Error while read type, read {readed} bytes but expected {reader.byteSize} bytes"); + Logger.Info($"Error while read type, read {readed} bytes but expected {reader.byteSize} bytes"); } return obj; } diff --git a/AssetStudioGUI/GUILogger.cs b/AssetStudioGUI/GUILogger.cs index 2e264a5..b697ad4 100644 --- a/AssetStudioGUI/GUILogger.cs +++ b/AssetStudioGUI/GUILogger.cs @@ -1,8 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using AssetStudio; +using AssetStudio; +using System; +using System.Windows.Forms; namespace AssetStudioGUI { @@ -17,7 +15,16 @@ namespace AssetStudioGUI public void Log(LoggerEvent loggerEvent, string message) { - action(message); + switch (loggerEvent) + { + case LoggerEvent.Error: + MessageBox.Show(message); + break; + default: + action(message); + break; + } + } } }