Уместно ли устанавливать свойства моего настраиваемого исключения для установки - PullRequest
2 голосов
/ 14 сентября 2009

Есть мой класс исключений


    public class ParseFailedException : Exception
    {
            public string FailedFileName { get; set; }

            public int? LineNo { get; set; }
            public int? ColumnNo { get; set; }
    }

Хорошо ли делать свойство как заданное или их следует передавать через метод конструктора?

Ответы [ 3 ]

10 голосов
/ 14 сентября 2009

Просто передайте свойства через конструктор и установите для свойства 'set' значение 'private'. Не должно быть возможности изменять свойства после создания исключения, чтобы обеспечить точную и правильную информацию в объекте.

2 голосов
/ 14 сентября 2009

Исключения являются неизменяемыми объектами и заполняются источником исключений, поэтому не должно быть общего установщика для ваших свойств.

0 голосов
/ 14 сентября 2009

Это проще установить с помощью конструктора (тогда вы выбрасываете свое исключение в одну строку), но чтение должно быть доступно с помощью свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...