Add better exception handling to ZipArchive