It stopped all other files because the exception was unhandled within the loop, causing the loop to exit. Adding a Try/Catch around the Read of Zipped files will allow files to fail but still allow next file to be processed.
foreach (string filePath in Directory.GetFiles(ZippedFilesDestinationFolder))
{
try
{
using (ZipFile zip1 = ZipFile.Read(filePath))
{
foreach (ZipEntry e in zip1)
{
e.Extract(unpackdirectory, ExtractExistingFileAction.OverwriteSilently);
}
}
}
catch(Exception ex)
{
/* Log ex here */
/* Move corrupt file */
}
}