diff --git a/SabreTools.DatFiles/Formats/AttractMode.cs b/SabreTools.DatFiles/Formats/AttractMode.cs index 5142b2b9..caaa2e65 100644 --- a/SabreTools.DatFiles/Formats/AttractMode.cs +++ b/SabreTools.DatFiles/Formats/AttractMode.cs @@ -96,15 +96,10 @@ namespace SabreTools.DatFiles.Formats // Now process and add the rom ParseAddHelper(rom, statsOnly); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {svr.LineNumber} '{svr.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - svr.Dispose(); - throw new Exception(message, ex); - } } } @@ -171,10 +166,9 @@ namespace SabreTools.DatFiles.Formats svw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/ClrMamePro.cs b/SabreTools.DatFiles/Formats/ClrMamePro.cs index 22dc9cd4..1bb0fe72 100644 --- a/SabreTools.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.cs @@ -81,15 +81,10 @@ namespace SabreTools.DatFiles.Formats break; } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {cmpr.LineNumber} '{cmpr.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - cmpr.Dispose(); - throw new Exception(message, ex); - } } } @@ -507,10 +502,9 @@ namespace SabreTools.DatFiles.Formats cmpw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/DosCenter.cs b/SabreTools.DatFiles/Formats/DosCenter.cs index c77ac021..ae8c6d52 100644 --- a/SabreTools.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.cs @@ -64,15 +64,10 @@ namespace SabreTools.DatFiles.Formats break; } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {cmpr.LineNumber} '{cmpr.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - cmpr.Dispose(); - throw new Exception(message, ex); - } } } @@ -334,10 +329,9 @@ namespace SabreTools.DatFiles.Formats cmpw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/EverdriveSmdb.cs b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs index 87820a1a..78aac4ab 100644 --- a/SabreTools.DatFiles/Formats/EverdriveSmdb.cs +++ b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs @@ -87,15 +87,10 @@ namespace SabreTools.DatFiles.Formats // Now process and add the rom ParseAddHelper(rom, statsOnly); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {svr.LineNumber} '{svr.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - svr.Dispose(); - throw new Exception(message, ex); - } } } @@ -159,10 +154,9 @@ namespace SabreTools.DatFiles.Formats svw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/Hashfile.cs b/SabreTools.DatFiles/Formats/Hashfile.cs index 8cf6bb22..c446fae5 100644 --- a/SabreTools.DatFiles/Formats/Hashfile.cs +++ b/SabreTools.DatFiles/Formats/Hashfile.cs @@ -88,15 +88,10 @@ namespace SabreTools.DatFiles.Formats // Now process and add the rom ParseAddHelper(rom, statsOnly); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing at position {sr.BaseStream.Position}"; logger.Error(ex, message); - if (throwOnError) - { - sr.Dispose(); - throw new Exception(message, ex); - } } } @@ -160,10 +155,9 @@ namespace SabreTools.DatFiles.Formats svw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/Listrom.cs b/SabreTools.DatFiles/Formats/Listrom.cs index c46d4ea1..2eb35754 100644 --- a/SabreTools.DatFiles/Formats/Listrom.cs +++ b/SabreTools.DatFiles/Formats/Listrom.cs @@ -244,15 +244,10 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing at position {sr.BaseStream.Position}"; logger.Error(ex, message); - if (throwOnError) - { - sr.Dispose(); - throw new Exception(message, ex); - } } } } @@ -323,10 +318,9 @@ namespace SabreTools.DatFiles.Formats sw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/Listxml.cs b/SabreTools.DatFiles/Formats/Listxml.cs index d25f2348..478361bd 100644 --- a/SabreTools.DatFiles/Formats/Listxml.cs +++ b/SabreTools.DatFiles/Formats/Listxml.cs @@ -254,14 +254,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -1416,10 +1411,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs index aaeb2a17..1352cb77 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.cs @@ -208,14 +208,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -848,10 +843,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/Missfile.cs b/SabreTools.DatFiles/Formats/Missfile.cs index c1614627..3073ce22 100644 --- a/SabreTools.DatFiles/Formats/Missfile.cs +++ b/SabreTools.DatFiles/Formats/Missfile.cs @@ -80,10 +80,9 @@ namespace SabreTools.DatFiles.Formats sw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/OfflineList.cs b/SabreTools.DatFiles/Formats/OfflineList.cs index 66c393c8..0aa2e640 100644 --- a/SabreTools.DatFiles/Formats/OfflineList.cs +++ b/SabreTools.DatFiles/Formats/OfflineList.cs @@ -78,14 +78,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -729,10 +724,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/OpenMSX.cs b/SabreTools.DatFiles/Formats/OpenMSX.cs index 71f0b49d..5f89d278 100644 --- a/SabreTools.DatFiles/Formats/OpenMSX.cs +++ b/SabreTools.DatFiles/Formats/OpenMSX.cs @@ -94,14 +94,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -610,10 +605,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/RomCenter.cs b/SabreTools.DatFiles/Formats/RomCenter.cs index ebf71438..8f903663 100644 --- a/SabreTools.DatFiles/Formats/RomCenter.cs +++ b/SabreTools.DatFiles/Formats/RomCenter.cs @@ -77,15 +77,10 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {ir.LineNumber} '{ir.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - ir.Dispose(); - throw new Exception(message, ex); - } } ir.Dispose(); @@ -424,10 +419,9 @@ namespace SabreTools.DatFiles.Formats iw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/SabreJSON.cs b/SabreTools.DatFiles/Formats/SabreJSON.cs index d3e99463..651f06a8 100644 --- a/SabreTools.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.DatFiles/Formats/SabreJSON.cs @@ -71,10 +71,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning($"Exception found while parsing '{filename}': {ex}"); - if (throwOnError) throw ex; } jtr.Close(); @@ -404,10 +403,9 @@ namespace SabreTools.DatFiles.Formats jtw.Close(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/SabreXML.cs b/SabreTools.DatFiles/Formats/SabreXML.cs index 93e6d651..e3e57bbb 100644 --- a/SabreTools.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.DatFiles/Formats/SabreXML.cs @@ -76,14 +76,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -253,10 +248,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/SeparatedValue.cs b/SabreTools.DatFiles/Formats/SeparatedValue.cs index 70636b18..80dfe19c 100644 --- a/SabreTools.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.cs @@ -104,15 +104,10 @@ namespace SabreTools.DatFiles.Formats ParseAddHelper(datItem, statsOnly); } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { string message = $"'{filename}' - There was an error parsing line {svr.LineNumber} '{svr.CurrentLine}'"; logger.Error(ex, message); - if (throwOnError) - { - svr.Dispose(); - throw new Exception(message, ex); - } } } @@ -179,10 +174,9 @@ namespace SabreTools.DatFiles.Formats svw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatFiles/Formats/SoftwareList.cs b/SabreTools.DatFiles/Formats/SoftwareList.cs index d66dc114..5d6154af 100644 --- a/SabreTools.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.cs @@ -144,14 +144,9 @@ namespace SabreTools.DatFiles.Formats } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex, $"Exception found while parsing '{filename}'"); - if (throwOnError) - { - xtr.Dispose(); - throw ex; - } // For XML errors, just skip the affected node xtr?.Read(); @@ -657,10 +652,9 @@ namespace SabreTools.DatFiles.Formats xtw.Dispose(); fs.Dispose(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.DatTools/Modification.cs b/SabreTools.DatTools/Modification.cs index 09b4306f..5eeddaec 100644 --- a/SabreTools.DatTools/Modification.cs +++ b/SabreTools.DatTools/Modification.cs @@ -79,10 +79,9 @@ namespace SabreTools.DatTools if (cleaner?.KeepEmptyGames == false) datFile.Items.ClearEmpty(); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } @@ -168,10 +167,9 @@ namespace SabreTools.DatTools } } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } @@ -242,10 +240,9 @@ namespace SabreTools.DatTools datFile.Items[key] = items; } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } @@ -291,10 +288,9 @@ namespace SabreTools.DatTools break; } } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } @@ -388,10 +384,9 @@ namespace SabreTools.DatTools datFile.Items.AddRange(key, newItems); }); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Warning(ex.ToString()); - if (throwOnError) throw ex; } } diff --git a/SabreTools.DatTools/Parser.cs b/SabreTools.DatTools/Parser.cs index 2dc52a3d..d0bf69f8 100644 --- a/SabreTools.DatTools/Parser.cs +++ b/SabreTools.DatTools/Parser.cs @@ -108,10 +108,9 @@ namespace SabreTools.DatTools var parsingDatFile = DatFile.Create(currentPathFormat, datFile, quotes); parsingDatFile?.ParseFile(currentPath, indexId, keep, statsOnly: statsOnly, throwOnError: throwOnError); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex, $"Error with file '{currentPath}'"); - if (throwOnError) throw ex; } } diff --git a/SabreTools.DatTools/Writer.cs b/SabreTools.DatTools/Writer.cs index afa757d9..25c82dd7 100644 --- a/SabreTools.DatTools/Writer.cs +++ b/SabreTools.DatTools/Writer.cs @@ -83,18 +83,16 @@ namespace SabreTools.DatTools { DatFile.Create(datFormat, datFile, quotes)?.WriteToFile(outfile, ignoreblanks, throwOnError); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex, $"Datfile {outfile} could not be written out"); - if (throwOnError) throw ex; } }); } - catch (Exception ex) + catch (Exception ex) when (!throwOnError) { logger.Error(ex); - if (throwOnError) throw ex; return false; } diff --git a/SabreTools.Logging/LoggerImpl.cs b/SabreTools.Logging/LoggerImpl.cs index 0ff36c1a..02113e4c 100644 --- a/SabreTools.Logging/LoggerImpl.cs +++ b/SabreTools.Logging/LoggerImpl.cs @@ -258,11 +258,10 @@ namespace SabreTools.Logging _log.WriteLine((AppendPrefix ? $"{loglevel} - {DateTime.Now} - " : string.Empty) + output); } } - catch (Exception ex) + catch (Exception ex) when (ThrowOnError) { Console.WriteLine(ex); Console.WriteLine("Could not write to log file!"); - if (ThrowOnError) throw ex; return; } }