Answer the question
In order to leave comments, you need to log in
Is it possible to organize a centralized error management in this case?
Hello, I have an interface like this:
interface Entities extends \Iterator
{
/**
* @return Entity[]
*/
public function list(): array;
/**
* @param Form $form - форма, которая выдает провалидированные данные
* @return Entity - Проблема которую нужно решить
*/
public function addFromInput(Form $form): Entity;
}
try{
//программа работает нормально
}
catch(Exception){
//тут должен вернуть сущность Entity
}
Answer the question
In order to leave comments, you need to log in
You can also catch separately defined exceptions, there is also a finally block that will be executed anyway.
try {
// код
} catch (ICreateNewException $e) {
echo 'Сработало исключения создания: ', $e->getMessage(), "\n";
} catch (Exception $e) {
echo 'Поймано исключение: ', $e->getMessage(), "\n";
} finally {
echo "Это я выполню всё равно";
}
// это примерный код просто для визуального примера
function ($callback, $args,$default)
{
try {
$r = $callback($args);
// or call_user_func(array($callback, $args))
} catch (ICreateNewException $e) {
echo 'Сработало исключения создания: ', $e->getMessage(), "\n";
return new NullObj;
} catch (Exception $e) {
echo 'Поймано исключение: ', $e->getMessage(), "\n";
mail(config('mail.to'))
} finally {
return $default;
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question