SevenZipException.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. namespace SevenZip
  2. {
  3. using System;
  4. using System.Runtime.Serialization;
  5. /// <summary>
  6. /// Base SevenZip exception class.
  7. /// </summary>
  8. [Serializable]
  9. public class SevenZipException : Exception
  10. {
  11. /// <summary>
  12. /// The message for thrown user exceptions.
  13. /// </summary>
  14. internal const string USER_EXCEPTION_MESSAGE = "The extraction was successful but" +
  15. "some exceptions were thrown in your events. Check UserExceptions for details.";
  16. /// <summary>
  17. /// Initializes a new instance of the SevenZipException class
  18. /// </summary>
  19. public SevenZipException() : base("SevenZip unknown exception.") { }
  20. /// <summary>
  21. /// Initializes a new instance of the SevenZipException class
  22. /// </summary>
  23. /// <param name="defaultMessage">Default exception message</param>
  24. public SevenZipException(string defaultMessage)
  25. : base(defaultMessage) { }
  26. /// <summary>
  27. /// Initializes a new instance of the SevenZipException class
  28. /// </summary>
  29. /// <param name="defaultMessage">Default exception message</param>
  30. /// <param name="message">Additional detailed message</param>
  31. public SevenZipException(string defaultMessage, string message)
  32. : base(defaultMessage + " Message: " + message) { }
  33. /// <summary>
  34. /// Initializes a new instance of the SevenZipException class
  35. /// </summary>
  36. /// <param name="defaultMessage">Default exception message</param>
  37. /// <param name="message">Additional detailed message</param>
  38. /// <param name="inner">Inner exception occurred</param>
  39. public SevenZipException(string defaultMessage, string message, Exception inner)
  40. : base(
  41. defaultMessage + (defaultMessage.EndsWith(" ", StringComparison.CurrentCulture) ? "" : " Message: ") +
  42. message, inner)
  43. { }
  44. /// <summary>
  45. /// Initializes a new instance of the SevenZipException class
  46. /// </summary>
  47. /// <param name="defaultMessage">Default exception message</param>
  48. /// <param name="inner">Inner exception occurred</param>
  49. public SevenZipException(string defaultMessage, Exception inner)
  50. : base(defaultMessage, inner) { }
  51. /// <summary>
  52. /// Initializes a new instance of the SevenZipException class
  53. /// </summary>
  54. /// <param name="info">All data needed for serialization or deserialization</param>
  55. /// <param name="context">Serialized stream descriptor</param>
  56. protected SevenZipException(
  57. SerializationInfo info, StreamingContext context)
  58. : base(info, context) { }
  59. }
  60. }