Exception 클래스 생성하기
새롭게 추가할 Custom Exception의 클래스를 생성합니다.
저는 단순하게 "CustomException" 이라는 이름의 클래스를 생성하겠습니다.(경로 "app/Exceptions/")
namespace App\Exceptions; use Exception; class CustomException extends Exception {}
Exception Handler 에 등록하기
"app/Exception/Handler.php" 파일을 열어서 "render" 함수를 수정 합니다. CustonException 예외 발생 시 json 으로 결과를 리턴해주도록 하였습니다.
public function render($request, Exception $exception) { if ($exception instanceof CustomException) { return response()->json([ 'Success' => false, 'Message' => $exception->getMessage() ], 500); } else { return parent::render($request, $exception); } }
CustomException 사용하기
생성한 "CustomException"을 "Controller"에서 사용해보도록 하겠습니다.
namespace App\Http\Controllers; // CustomException 클래스 정의 use App\Exceptions\CustomException; class TestController extends Controller { public function exceptionTest() { $message = [ 'Success' => true, 'Message' => '예외 처리 테스트 합니다.' ] // 강제 예외 발생 throw new CustomException('예외가 발생하였습니다.'); return response()->json($message); } }
'PHP' 카테고리의 다른 글
[Laravel 5.4] 패스워드 변경 후 로그인 유지 하는 방법 (2) | 2017.07.03 |
---|---|
[Laravel 5.4] 여러개의 데이터베이스에 연결하는 방법 (0) | 2017.02.19 |
[PHP]라인 봇(LINE BOT) 사용을 위한 Webhook 기능 사용하기 (0) | 2016.11.16 |
[PHP] password_hash 패스워드 함수 사용하기. (0) | 2016.07.21 |
[PHP] v5.6 에서 mcrypt_encrypt() 함수 사용 시 발생하는 에러 해결 방법. (0) | 2016.02.24 |