{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "implemented in changeset 41370.  First binary&#58;  v1.8.4.22",
    "ClosedDate": "2009-08-25T11:51:37.64-07:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "I think it should be not too difficult to add an Error event to the ZipFile class to allow the app to intervene and take some action when an error occurs during the Save(), while reading a file to be compressed.  \n \nErrors can occur during Read for various reasons.  One example is :  ERROR_LOCK_VIOLATION in case of a conflicting range lock.  Another example is, the file no longer exists, because it has been deleted between the time it was added and the call to Save().  Another might be: network interruption between the call to AddFile() and the call to Save().  \n \nThe Logic would work something like this:\n \n     If (an error occurs during read)\n         If (no Event handler is registered) Then \n             take the default action.\n             -- the default action is either Skip, or Throw Exception\n             -- this is settable by the app\n         Else \n           Invoke the Error eventhandler\n           check the response from the app:\n           if (response = Retry) then retry\n           if (response = Skip) then do so.\n           otherwise throw an exception\n         End If \n     End If",
    "LastUpdatedDate": "2013-05-16T05:32:16.65-07:00",
    "PlannedForRelease": "",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2009-06-25T11:56:43.017-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "Allow apps to handle Read errors during Save",
    "Type": {
      "Name": "Issue",
      "Id": 3
    },
    "VoteCount": 2,
    "Id": 7939
  },
  "FileAttachments": [],
  "Comments": [
    {
      "Message": "Is it possible to use this process on files that have been deleted (after dotnetzip performs the initial directory scan)?\r\nExample:\r\n7/1/2009 11:15:13 AM\r\nCould not find file 'C:\\Documents and Settings\\duryeal\\My Documents\\1 - Xlerate 2009\\Texas Pete\\weekly data for Darren TP Hot Dog Chili.xls'.\r\n   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\r\n   at System.IO.FileInfo.get_Length()\r\n   at Ionic.Zip.ZipEntry.FigureCompressionMethodForWriting(Int32 cycle)\r\n   at Ionic.Zip.ZipEntry.WriteHeader(Stream s, Int32 cycle)\r\n   at Ionic.Zip.ZipEntry.Write(Stream s)\r\n   at Ionic.Zip.ZipFile.Save()\r\n   at SMG_Backup.MainForm.ZipUpdate(String OriginalFile)\r\n\r\nThis is a file that was moved after dotnetzip performed it's directory scan but before it was saved.",
      "PostedDate": "2009-07-01T08:27:39.647-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Yes, the proposed solution would handle that case, as well. ",
      "PostedDate": "2009-07-01T17:41:30.153-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2009-08-06T08:42:13.843-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Low priority really means low huh? LOL\r\nYou need helpers!",
      "PostedDate": "2009-08-06T08:47:16.26-07:00",
      "Id": -2147483648
    },
    {
      "Message": "partially implemented in changeset 41365.  ",
      "PostedDate": "2009-08-25T10:22:32.17-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2009-08-25T11:51:37.64-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:44:11.543-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:32:16.65-07:00",
      "Id": -2147483648
    }
  ]
}