После некоторых исследований я обнаружил, что пользовательское исключение должно выглядеть следующим образом:Пользовательские исключения со свойствами
using System;
using System.Runtime.Serialization;
namespace YourNamespaceHere
{
[Serializable()]
public class YourCustomException : Exception, ISerializable
{
public YourCustomException() : base() { }
public YourCustomException(string message) : base(message) { }
public YourCustomException(string message, System.Exception inner) : base(message, inner) { }
public YourCustomException(SerializationInfo info, StreamingContext context) : base(info, context) { }
}
}
Но у меня есть небольшая проблема.
Я хочу, чтобы исключение выше, чтобы иметь два дополнительных поля, скажем int ID
и int ErrorCode
. Как добавить эти два поля и инициализировать их? Должен ли я добавить новый конструктор с этими двумя параметрами и параметром сообщения?
Также вы можете помочь мне и показать, как написать методы сериализации для этого нового класса, который будет иметь два новых свойства?
спасибо.
Просто добавьте свойства в класс – singsuyash
нашел это http://blogs.msdn.com/b/agileer/archive/2013/05/17/the-right- way-to-write-a-custom-exception-class.aspx – singsuyash
@singsuyash: Должен ли я добавить * новый * конструктор, который принимает сообщение и два целых числа? Будет хорошо, если кто-то может подвести итог этим вещам и то, что вы связываете в качестве ответа для моего класса с этими двумя целыми свойствами. –