Fork me on GitHub

Application - Exception

#Exception

#Overview

CafeLatte(CL)'s exception는 에러라는 큰 개념하에 운영되어 있습니다. Exception은 장애(에러)의 관점으로 Execption을 Catch하였을경우엔 바로 에러 메세지를 보여지도록 되어있습ㄴ디ㅏ.

CafeLatte(CL) framework는 많은 Exception을 이미 만들어져 있습니다. 당신이 코딩한 프로그램은 이미 코어프로그램의 하나인 BaseRoute에 다 포함되어있습니다.

Cacth 받은 로직은 새로운 다른 함수를 호출하거나 하지 안도록 하는것이 저희 프래임워크가 지양하는 바입니다.

CafeLatte(CL) 예외처리는 최상위에서 모두 감싸고 있기때문에 언제 어디서나 예외처리를 할수있습니다.

#How To Use

PHP Code


throw new ONE_OF_THE_EXCEPTIONS(string $message = null, string $code = null);

Response


{
    "code": CODE,
    "message": "MESSAGE"
}

#InvalidParameterException

유저가 입력한 파라미터를 체크한후 이상이 있을경우 Framework Code에서 리턴한다.

PHP Code


throw new InvalidParameterException($message ,$code);

Response


{
    "code": 1002,
    "message": "InvalidParameterException"
}

#InvalidLogicException

유저가 입력한 파라미터를 체크한후 이상이 있을경우 Framework Code에서 리턴한다.

PHP Code


    throw new InvalidLogicException("It never happend");

Response


{
    "code": 1002,
    "message": "InvalidLogicException('It never happend')"
}

#InvalidUrlRequestException

유저가 잘못된 주소를 요청하였을경우 발생한다.

PHP Code


throw new InvalidUrlRequestException("It never happend");

Response


{
    "code": 1002,
    "message": "InvalidUrlRequestException('It never happend')"
}

#InvalidMethodRequestException

유저가 잘못된 주소를 요청하였을경우 발생한다.

PHP Code


throw new InvalidUrlRequestException("It never happend");

Response


{
    "code": 1002,
    "message": "InvalidUrlRequestException('It never happend')"
}

#PermissionException

권한이 없는 요청이 있을때 예외처리 한다.(예: 업로드 권한, 삭제권한등)

PHP Code


throw new PermissionException("It never happend");

Response


{
    "code": 1002,
    "message": "PermissionException('It never happend')"
}

#TokenExpiredException

Access Token이나 Request Token등이 만료되었을경우 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new TokenExpiredException("It never happend");

Response


{
    "code": 1002,
    "message": "TokenExpiredException('It never happend')"
}

#InvalidTokenException

Access Token이나 Request Token등이 만료되었을경우 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new InvalidTokenException("It never happend");

Response


{
    "code": 1002,
    "message": "InvalidTokenException('It never happend')"
}

#FileNotFoundException

업로드된 파일등이 찾았을때 서버에 파일이 존재하지 않는다면 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new FileNotFoundException("It never happend");

Response


{
    "code": 1002,
    "message": "FileNotFoundException('It never happend')"
}

#FileUploadFailException

업로드 실패시 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new FileUploadFailException("It never happend");

Response


{
    "code": 1002,
    "message": "FileUploadFailException('It never happend')"
}

#DatabaseNotFoundException

Select쿼리문을 질의하였을경우 검색된 데이터가 없을경우 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new DatabaseNotFoundException("It never happend");

Response


{
    "code": 1002,
    "message": "DatabaseNotFoundException('It never happend')"
}

#DatabaseSyntaxException

권리문 에러일경우 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new DatabaseSyntaxException("It never happend");

Response


{
    "code": 1002,
    "message": "DatabaseSyntaxException('It never happend')"
}

#DatabaseDuplicatedException

중복된 데이터가 발생하였을경우 해당 예외처리 함수를 이용하여 예외처리 한다.

PHP Code


throw new DatabaseDuplicatedException("It never happend");

Response


{
    "code": 1002,
    "message": "DatabaseDuplicatedException('It never happend')"
}

#DatabaseUnmatchedException

PHP Code


throw new DatabaseUnmatchedException("It never happend");

Response


{
    "code": 1002,
    "message": "DatabaseUnmatchedException('It never happend')"
}

#CustomerException

PHP Code


throw new CustomerException("It never happend");

Response


{
    "code": 1002,
    "message": "CustomerException('It never happend')"
}