CA1065 Не вызывать исключения в неожиданных местах, как решить? - PullRequest
0 голосов
/ 19 июня 2019
public int FirstRecord
{
    get
    {
        if (NumRecords < 1)
            throw new Exception("No records available");

        return PageNumber * PageSize;
    }
}

При статическом анализе кода отображается следующее предупреждение.

FirstRecord.get () создает исключение типа «Исключение», тип исключения, который не должен вызываться в свойстве. Если этот экземпляр исключения может быть вызван, используйте другой тип исключения, преобразуйте это свойство в метод или измените логику этого свойства, чтобы оно больше не вызывало исключение.

1 Ответ

0 голосов
/ 19 июня 2019

когда вы устанавливаете значение свойства, выдается исключение для недопустимого значения.

получение значения свойства должно (почти) никогда не выдавать исключение

для доступа на основе ролей используйте разные / тупые интерфейсы или фасады; не позволяйте людям видеть то, чего они не могут иметь!

///// поместите этот код в конструктор `if (NumRecords <1) выдать новое исключение («Нет доступных записей»); </p>

https://softwareengineering.stackexchange.com/questions/16646/is-throwing-an-exception-from-a-property-bad-form

...