diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs index a3344d7f..92104316 100644 --- a/SabreTools.DatTools/Rebuilder.cs +++ b/SabreTools.DatTools/Rebuilder.cs @@ -743,13 +743,22 @@ namespace SabreTools.DatTools if (isZip != null) { BaseArchive? archive = BaseArchive.Create(file); - if (archive != null) + if (archive == null) + return false; + + try { // TODO: Write entry to a temporary file to avoid over-large in-memory streams // TODO: Once entry is written, replace GetEntryStream implementations ItemType itemType = datItem.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue(); (stream, _) = archive.GetEntryStream(datItem.GetName() ?? itemType.AsStringValue() ?? string.Empty); } + catch + { + // Ignore the exception for now -- usually an over-large file + stream = null; + return false; + } } // Otherwise, just open the filestream else