Я пытаюсь отправить в наш регистратор ошибок конкретное сообщение об ошибке, касающееся контекста ошибки, которая возникает именно потому, что переменная, передаваемая в array_key_exists, не является массивом. Я хочу быть очень конкретным в своем сообщении об ошибке, поэтому я хочу иметь уловку, которая конкретно возвращает некоторую информацию о контексте ТОЛЬКО тогда, когда этот конкретный $x не является исключением массива, но я могу' Не знаю, как конкретно искать это исключение, есть ли способ?
Так, например, у меня есть:
Код: Выделить всё
try {
// blah blah some stuff
array_key_exists('blah', $maybeAnArray)
// blah blah more stuff
} catch ( Exception $e ) {
logger()->error($e);
// send notification that says $maybeAnArray is not an array because of blah blah, do something about it when you see this error
}
Только в приведенном выше случае исключение $e будет перехвачено для ЛЮБОГО исключения, а не только для исключения массива.
Есть есть способ сделать что-то похожее на оператор if, где вы должны сделать что-то вроде:
Код: Выделить всё
if(!is_array($maybeAnArray) {
// throw Exception $e and log error with specific details
}
Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -try-catch