Разница между Отклонением и Исключением является семантическая.
Отклонение позволяет выполнить проверку параметров запроса. Если некоторые параметры не совпадают (неправильно для этой директивы), то директива может отклонить запрос, а некоторые другие директивы могут попытаться сопоставить запрос и обработать, чем.
Исключение означает, что в вашей директиве есть непредвиденное поведение. Обычно это происходит после сопоставления, когда директива обрабатывает запрос.
Как я понял из вашего вопроса, у вас может быть одна из следующих ситуаций:
У вас есть исключение при сопоставлении директивы, это, вероятно, означает, что вы не можете выполнить правильную проверку, и единственный способ - вызвать функцию и искать исключение. Если выдается исключение, это означает, что директива не совпадает, и вы создаете отклонение.
Вы создаете отклонение как часть обработки исключений. Это один из способов обработки исключений. Другой просто возвращает ответ с кодом состояния 501 и внутренней ошибкой сервера.
Обе эти ситуации имеют смысл, но они не означают, что отклонение и исключение - это схожие вещи.