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); 
	}
}