Когда Вы бросили бы DomainException в PHP?

Первый ответ хорош и дает некоторые структурные ответы, но другой подход должен думать о том, что Вы делаете. Модули об обеспечении методов, которые можно использовать через несколько классов - думают о них как "библиотеки" (как Вы видели бы в приложении для направляющих). Классы об объектах; модули о функциях.

, Например, системы аутентификации и авторизации являются хорошими примерами модулей. Работа систем аутентификации через несколько классов уровня приложения (пользователи аутентифицируются, сессии, справляется с аутентификацией, много других классов будет действовать по-другому на основе подлинного состояния), таким образом, действие систем аутентификации как общие API.

Вы могли бы также использовать модуль при совместном использовании методов через несколько приложений (снова, модель библиотеки хороша здесь).

21
задан oscarkuo 9 July 2009 в 10:05
поделиться

2 ответа

Здесь довольно забавная дискуссия о том, что, кажется, никто не знает, что такое означает:

http://bugs.php.net/bug.php?id=47097

С конца этой ссылки:

Домен здесь означает домен данных. То есть должно быть создано исключение DomainException всякий раз, когда значение не соответствует определенная допустимая область данных. Примеры:

  • 0 не входит в домен для разделения.
  • Foo не входит в домен для будних дней.

Первое отличается от out of диапазон и тому подобное, но вы можете использовать InvalidParameter в случае, если это фактически параметр функции который выполняет деление. Если это значение, вычисленное внутри функции до выполнения разделения и затем бросает предварительную проверку условий вместо выполнения деления, тогда это становится DomainException .

21
ответ дан 29 November 2019 в 21:28
поделиться

Этот вид исключения следует использовать для информирования об ошибках домена в математическом смысле.

См. домен функции .

Например, квадратный корень функция будет определена только для положительных чисел (если вы не используете комплексные числа ...)

3
ответ дан 29 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: