diff --git a/SabreTools.Library/DatFiles/DatFile.cs b/SabreTools.Library/DatFiles/DatFile.cs
index 1c20289e..779c867d 100644
--- a/SabreTools.Library/DatFiles/DatFile.cs
+++ b/SabreTools.Library/DatFiles/DatFile.cs
@@ -2283,9 +2283,6 @@ namespace SabreTools.Library.DatFiles
catch (IOException ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return;
}
}
diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs
index ebc4239e..a6d89e97 100644
--- a/SabreTools.Library/DatItems/DatItem.cs
+++ b/SabreTools.Library/DatItems/DatItem.cs
@@ -1116,9 +1116,6 @@ namespace SabreTools.Library.DatItems
}
catch (Exception ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
// Absorb the error
return 0;
}
diff --git a/SabreTools.Library/FileTypes/Folder.cs b/SabreTools.Library/FileTypes/Folder.cs
index 7755ba73..52cef6d5 100644
--- a/SabreTools.Library/FileTypes/Folder.cs
+++ b/SabreTools.Library/FileTypes/Folder.cs
@@ -127,9 +127,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return false;
}
@@ -208,9 +205,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return realentry;
}
@@ -250,9 +244,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return (ms, realentry);
}
@@ -390,9 +381,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
finally
diff --git a/SabreTools.Library/FileTypes/GZipArchive.cs b/SabreTools.Library/FileTypes/GZipArchive.cs
index 156dd5ff..edc298c3 100644
--- a/SabreTools.Library/FileTypes/GZipArchive.cs
+++ b/SabreTools.Library/FileTypes/GZipArchive.cs
@@ -78,22 +78,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -181,9 +175,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -253,9 +244,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
}
diff --git a/SabreTools.Library/FileTypes/RarArchive.cs b/SabreTools.Library/FileTypes/RarArchive.cs
index 219fa31d..e6b625c3 100644
--- a/SabreTools.Library/FileTypes/RarArchive.cs
+++ b/SabreTools.Library/FileTypes/RarArchive.cs
@@ -71,22 +71,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -167,9 +161,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -230,9 +221,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
@@ -274,8 +262,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
}
return empties;
diff --git a/SabreTools.Library/FileTypes/SevenZipArchive.cs b/SabreTools.Library/FileTypes/SevenZipArchive.cs
index 9537f604..cdd72d13 100644
--- a/SabreTools.Library/FileTypes/SevenZipArchive.cs
+++ b/SabreTools.Library/FileTypes/SevenZipArchive.cs
@@ -120,22 +120,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -251,9 +245,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -341,9 +332,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
@@ -397,8 +385,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
}
return empties;
@@ -616,9 +602,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
finally
@@ -848,9 +831,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
diff --git a/SabreTools.Library/FileTypes/TapeArchive.cs b/SabreTools.Library/FileTypes/TapeArchive.cs
index f6990909..2a5f3a87 100644
--- a/SabreTools.Library/FileTypes/TapeArchive.cs
+++ b/SabreTools.Library/FileTypes/TapeArchive.cs
@@ -76,23 +76,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -173,9 +166,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -236,9 +226,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
@@ -280,8 +267,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
}
return empties;
@@ -436,9 +421,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
finally
@@ -619,9 +601,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
finally
diff --git a/SabreTools.Library/FileTypes/XZArchive.cs b/SabreTools.Library/FileTypes/XZArchive.cs
index 2886b501..c9ba5b6c 100644
--- a/SabreTools.Library/FileTypes/XZArchive.cs
+++ b/SabreTools.Library/FileTypes/XZArchive.cs
@@ -72,22 +72,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -173,9 +167,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -242,9 +233,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
}
diff --git a/SabreTools.Library/FileTypes/ZipArchive.cs b/SabreTools.Library/FileTypes/ZipArchive.cs
index 3805965c..c51e83dc 100644
--- a/SabreTools.Library/FileTypes/ZipArchive.cs
+++ b/SabreTools.Library/FileTypes/ZipArchive.cs
@@ -121,22 +121,16 @@ namespace SabreTools.Library.FileTypes
catch (EndOfStreamException ex)
{
// Catch this but don't count it as an error because SharpCompress is unsafe
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex);
}
catch (InvalidOperationException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex);
encounteredErrors = true;
}
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
encounteredErrors = true;
}
@@ -252,9 +246,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
ms = null;
realEntry = null;
}
@@ -346,9 +337,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return null;
}
@@ -402,8 +390,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
}
return empties;
@@ -620,9 +606,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
finally
@@ -853,9 +836,6 @@ namespace SabreTools.Library.FileTypes
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
success = false;
}
diff --git a/SabreTools.Library/Filtering/ExtraIniItem.cs b/SabreTools.Library/Filtering/ExtraIniItem.cs
index fc69fb74..57a852b2 100644
--- a/SabreTools.Library/Filtering/ExtraIniItem.cs
+++ b/SabreTools.Library/Filtering/ExtraIniItem.cs
@@ -99,10 +99,7 @@ namespace SabreTools.Library.Filtering
}
catch (Exception ex)
{
- Globals.Logger.Warning($"Exception found while parsing '{ini}': {ex}");
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex, $"Exception found while parsing '{ini}'");
return false;
}
diff --git a/SabreTools.Library/IO/DirectoryExtensions.cs b/SabreTools.Library/IO/DirectoryExtensions.cs
index e102d2ce..81ccb765 100644
--- a/SabreTools.Library/IO/DirectoryExtensions.cs
+++ b/SabreTools.Library/IO/DirectoryExtensions.cs
@@ -92,9 +92,6 @@ namespace SabreTools.Library.IO
catch (Exception ex)
{
Globals.Logger.Error(ex, $"An exception occurred getting the full path for '{input}'");
- if (Globals.ThrowOnError)
- throw ex;
-
continue;
}
@@ -109,15 +106,11 @@ namespace SabreTools.Library.IO
}
catch (PathTooLongException ex)
{
- Globals.Logger.Warning($"The path for '{dir}' was too long");
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Warning(ex, $"The path for '{dir}' was too long");
}
catch (Exception ex)
{
Globals.Logger.Error(ex, $"An exception occurred processing '{dir}'");
- if (Globals.ThrowOnError)
- throw ex;
}
}
}
@@ -195,9 +188,6 @@ namespace SabreTools.Library.IO
catch (Exception ex)
{
Globals.Logger.Error(ex, $"An exception occurred getting the full path for '{input}'");
- if (Globals.ThrowOnError)
- throw ex;
-
continue;
}
@@ -212,15 +202,11 @@ namespace SabreTools.Library.IO
}
catch (PathTooLongException ex)
{
- Globals.Logger.Warning($"The path for '{file}' was too long");
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Warning(ex, $"The path for '{file}' was too long");
}
catch (Exception ex)
{
Globals.Logger.Error(ex, $"An exception occurred processing '{file}'");
- if (Globals.ThrowOnError)
- throw ex;
}
}
}
@@ -232,15 +218,11 @@ namespace SabreTools.Library.IO
}
catch (PathTooLongException ex)
{
- Globals.Logger.Warning($"The path for '{input}' was too long");
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Warning(ex, $"The path for '{input}' was too long");
}
catch (Exception ex)
{
Globals.Logger.Error(ex, $"An exception occurred processing '{input}'");
- if (Globals.ThrowOnError)
- throw ex;
}
}
}
diff --git a/SabreTools.Library/IO/FileExtensions.cs b/SabreTools.Library/IO/FileExtensions.cs
index 844f4ce7..a57ab421 100644
--- a/SabreTools.Library/IO/FileExtensions.cs
+++ b/SabreTools.Library/IO/FileExtensions.cs
@@ -189,9 +189,7 @@ namespace SabreTools.Library.IO
}
catch (Exception ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex, $"An exception occurred trying to figure out the format of '{filename}'");
return 0;
}
}
@@ -303,9 +301,7 @@ namespace SabreTools.Library.IO
}
catch (Exception ex)
{
- // Don't log file open errors
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Warning(ex, $"An exception occurred determining file type of '{input}'");
}
return outFileType;
diff --git a/SabreTools.Library/IO/StreamExtensions.cs b/SabreTools.Library/IO/StreamExtensions.cs
index c35a8857..28dbb12e 100644
--- a/SabreTools.Library/IO/StreamExtensions.cs
+++ b/SabreTools.Library/IO/StreamExtensions.cs
@@ -194,9 +194,7 @@ namespace SabreTools.Library.IO
}
catch (IOException ex)
{
- if (Globals.ThrowOnError)
- throw ex;
-
+ Globals.Logger.Warning(ex, "An exception occurred during hashing.");
return new BaseFile();
}
finally
@@ -231,15 +229,11 @@ namespace SabreTools.Library.IO
}
catch (NotSupportedException ex)
{
- Globals.Logger.Verbose("Stream does not support seeking to starting offset. Stream position not changed");
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Verbose(ex, "Stream does not support seeking to starting offset. Stream position not changed");
}
catch (NotImplementedException ex)
{
- Globals.Logger.Warning("Stream does not support seeking to starting offset. Stream position not changed");
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Warning(ex, "Stream does not support seeking to starting offset. Stream position not changed");
}
return -1;
diff --git a/SabreTools.Library/Logging/Logger.cs b/SabreTools.Library/Logging/Logger.cs
index 54bbccd7..ff258b87 100644
--- a/SabreTools.Library/Logging/Logger.cs
+++ b/SabreTools.Library/Logging/Logger.cs
@@ -225,6 +225,21 @@ namespace SabreTools.Library.Logging
return true;
}
+ ///
+ /// Write the given exception as a verbose message to the log output
+ ///
+ /// Exception to be written log
+ /// String to be written log
+ /// True if the level and datetime should be prepended to each statement (default), false otherwise
+ /// True if the output could be written, false otherwise
+ public bool Verbose(Exception ex, string output = null, bool appendPrefix = true)
+ {
+ if (Globals.ThrowOnError)
+ throw ex;
+
+ return Verbose($"{(output != null ? output + ": " : string.Empty)}{ex}", appendPrefix);
+ }
+
///
/// Write the given string as a verbose message to the log output
///
@@ -236,6 +251,21 @@ namespace SabreTools.Library.Logging
return Log(output, LogLevel.VERBOSE, appendPrefix);
}
+ ///
+ /// Write the given exception as a user message to the log output
+ ///
+ /// Exception to be written log
+ /// String to be written log
+ /// True if the level and datetime should be prepended to each statement (default), false otherwise
+ /// True if the output could be written, false otherwise
+ public bool User(Exception ex, string output = null, bool appendPrefix = true)
+ {
+ if (Globals.ThrowOnError)
+ throw ex;
+
+ return User($"{(output != null ? output + ": " : string.Empty)}{ex}", appendPrefix);
+ }
+
///
/// Write the given string as a user message to the log output
///
@@ -256,6 +286,9 @@ namespace SabreTools.Library.Logging
/// True if the output could be written, false otherwise
public bool Warning(Exception ex, string output = null, bool appendPrefix = true)
{
+ if (Globals.ThrowOnError)
+ throw ex;
+
return Warning($"{(output != null ? output + ": " : string.Empty)}{ex}", appendPrefix);
}
@@ -280,6 +313,9 @@ namespace SabreTools.Library.Logging
/// True if the output could be written, false otherwise
public bool Error(Exception ex, string output = null, bool appendPrefix = true)
{
+ if (Globals.ThrowOnError)
+ throw ex;
+
return Error($"{(output != null ? output + ": " : string.Empty)}{ex}", appendPrefix);
}
diff --git a/SabreTools.Library/Skippers/SkipperRule.cs b/SabreTools.Library/Skippers/SkipperRule.cs
index 9717a810..13bb166e 100644
--- a/SabreTools.Library/Skippers/SkipperRule.cs
+++ b/SabreTools.Library/Skippers/SkipperRule.cs
@@ -202,9 +202,6 @@ namespace SabreTools.Library.Skippers
catch (Exception ex)
{
Globals.Logger.Error(ex);
- if (Globals.ThrowOnError)
- throw ex;
-
return false;
}
finally
diff --git a/SabreTools.Library/Tools/DatabaseTools.cs b/SabreTools.Library/Tools/DatabaseTools.cs
index 49538d21..2a46f757 100644
--- a/SabreTools.Library/Tools/DatabaseTools.cs
+++ b/SabreTools.Library/Tools/DatabaseTools.cs
@@ -137,9 +137,7 @@ CREATE TABLE IF NOT EXISTS data (
}
catch (Exception ex)
{
- Console.WriteLine(ex);
- if (Globals.ThrowOnError)
- throw ex;
+ Globals.Logger.Error(ex);
}
finally
{