Вы пишете конкретное Exception
для ответов об ошибках API-интерфейсов, которые вы используете?
например:
class SmsServiceException extends Exception
{
}
class SmsServiceSendException extends SmsServiceException
{
}
Есть ли конкретное встроенное исключение в PHP для этой ситуации? Как есть один для недопустимых аргументов InvalidArgumentException
.
Это зависит:
Иногда может быть полезно передать некоторые конкретные данные API вместе с исключениями (например, если API имеет некоторые конкретные данные, которые должны быть указаны в сообщениях об ошибках). В этих случаях правильная работа заключается в написании настраиваемого обработчика исключений, но нет определенного правила, ведь вам нужно написать определенный класс исключений для каждого используемого вами API
Для этой ситуации в PHP нет встроенного исключения
Вы хорошо пойдете, когда дело доходит до этого исключения. PHP имеет некоторые собственные исключения, но они не относятся к какой-либо не встроенной php-проблеме.
Это довольно распространенная ошибка, чтобы пропустить аргумент, поэтому, чтобы выбросить исключение, PHP нуждается в чем-то, но когда вы делаете свои собственные вещи, создавая классы, вы также можете свободно создавать исключения, так как многие из ваших идей не будут иметь исключения по умолчанию в PHP.
С другой стороны, вы можете написать класс исключения для всего API, а затем передать имя модуля для редактирования исключения, создающего 1 "гибкое" исключение. Это делает для abit менее удобочитаемым кодом, поэтому имейте это в виду;)