2015-04-23 5 views
4

Я новичок в области Laravel. Мне нужно добавить настраиваемый обработчик ошибок. Я пытался добавить ниже код для моего global.php файла:laravel custom exception обработка

App::error(function(CustomException $exception, $code) 
{ 
echo 'Debug: CustomException<br/>'; 
}); 

Чтобы бросить эту ошибку, я использовал ниже код в одном из моих контроллеров:

throw new CustomException(); 

Но я получаю сообщение об ошибке, как CustomException не найдено.

Я googled для решения, но везде я нахожу то же самое решение.

Пожалуйста, помогите мне исправить это.

+0

После добавления кода ниже: App :: ошибки (функция (InvalidRouteException $ исключение) { \ Log :: данные ('InvalidRouteException'); $ код = 404; $ data = array ('codeError' => $ code, 'messageError' => 'Упс, похоже, что что-то пошло не так.'); return \ View :: make ('404') -> гнездо ('content', ' error ', $ data); }); Я получаю ошибку маршрут домой не найден исключение, я не могу видеть представление. Мне нужно создать настраиваемую страницу, где я могу увидеть настраиваемое исключение. – uday8486

ответ

2

Сначала необходимо определить свое пользовательское исключение. Таким образом, в верхней части файла global.php, добавьте это:

class CustomException extends Exception {} 

Конечно, вы можете добавить пользовательские свойства и методы этого класса, как это необходимо.

2

Вы можете создать свой класс (пример: приложение/Исключения/MyCustomException.php), а затем добавить в файлы автозагрузки composer.json.

"autoload": { 
    "files":["app/Exceptions/MyCustomException.php] 
} 

Затем: запустить composer dumpautoload

Теперь вы можете использовать свой MyCustomException класс.

-

<?php 

class MyCustomException extends \Exception {} 
+1

Мне нравится этот подход лучше, если вы хотите бросить много исключений в своем приложении, лучше поместить их в отдельный файл –

+0

Обновлен вопрос – uday8486