Есть ли способ в PHP разделить try
а также catch
через два разных «включаемых файла», помещая try
в одном файле и catch
в другой?
Что-то вроде:
<?php
include('begin_try.php');
...
//some code goes here
...
include('end_try_and_catch_exceptions.php');
?>
// имя файла: begin_try.php:
<?php
header('Content-type: application/json');
try {
?>
// имя файла: end_try_and_catch_exceptions.php:
<?php
} catch (Exception $e) {
echo json_encode(array(
'error' => array(
'code' => $e->getCode(),
'message' => $e->getMessage()
)
));
}
?>
Синтаксически невозможно использовать try-catch таким образом, но вы можете использовать set_exception_handler
Функция для регистрации функции, которая будет перехватывать все исключения, которые не были перехвачены:
set_exception_handler(function ($e) {
echo json_encode(array(
'error' => array(
'code' => $e->getCode(),
'message' => $e->getMessage()
)
));
});
Других решений пока нет …