using System;
#if PLAT_BINARYFORMATTER && !(COREFX || PROFILE259)
using System.Runtime.Serialization;
#endif
namespace ProtoBuf
{
    /// 
    /// Indicates an error during serialization/deserialization of a proto stream.
    /// 
#if PLAT_BINARYFORMATTER && !(COREFX || PROFILE259)
    [Serializable]
#endif
    public class ProtoException : Exception
    {
        /// Creates a new ProtoException instance.
        public ProtoException() { }
        /// Creates a new ProtoException instance.
        public ProtoException(string message) : base(message) { }
        /// Creates a new ProtoException instance.
        public ProtoException(string message, Exception innerException) : base(message, innerException) { }
#if PLAT_BINARYFORMATTER && !(COREFX || PROFILE259)
        /// Creates a new ProtoException instance.
        protected ProtoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
#endif
    }
}