본문으로 건너뛰기
버전: 1.x

이벤트 및 예외

애플리케이션 통합에는 수명 주기 이벤트를 사용하고, 오류를 처리할 수 있는 경계에서 복구할 때는 예외 타입을 사용하십시오.

수명 주기 이벤트​

이벤트Public 데이터전달 시점
FeedStartingEventfeed, target저장소와 경로 사전 검사가 끝난 뒤, 컨버터 해석과 스테이징 전입니다.
FeedFinishedEventfeed, target, path, paths생성된 모든 파일을 성공적으로 게시한 후입니다.

$target에는 대상별 생성의 대상 키가 들어가며 일반 피드에서는 null입니다. FeedFinishedEvent::$paths에는 게시된 모든 경로가 순서대로 들어 있습니다. $path는 호환성을 위해 유지되며 항상 첫 번째 경로를 담습니다.

입력 및 조회 오류​

예외의미
InvalidFeedArgumentException콘솔 피드 slug가 유효하지 않습니다.
FeedNotFoundException요청한 피드 ID 또는 slug의 등록 정보가 없습니다.
Illuminate\Database\MultipleRecordsFoundException삭제되지 않은 등록 정보 여러 개가 요청한 slug를 사용합니다.
InvalidExpressionException스케줄 표현식이 유효하지 않습니다.
UnknownFeedClassException구성된 피드 클래스를 해석할 수 없습니다.
UnexpectedClassException해석된 클래스가 예상 계약을 충족하지 않습니다.

대상 선택에는 SPL 예외가 사용됩니다. --target을 전달했을 때 피드 등록 slug를 제공하지 않았거나, 대상 키가 비어 있거나, 선택한 피드가 HasFeedTargets를 구현하지 않으면 feed:generate 명령은 InvalidArgumentException을 발생시킵니다. findTarget()이 null을 반환하면 UnexpectedValueException이 발생합니다.

직렬화 및 저장소 오류​

예외의미
InvalidCsvRowExceptionCSV 행이 확정된 열 스키마와 일치하지 않습니다.
InvalidCsvValueExceptionCSV 필드를 스칼라 값으로 직렬화할 수 없습니다.
InvalidXmlCDataExceptionCDATA 값이 유효하지 않습니다.
InvalidXmlFragmentException원시 XML 조각이 유효하지 않습니다.
UnsupportedStorageDiskException선택한 Laravel 디스크가 FilesystemAdapter로 해석되지 않습니다.
OpenFeedException초안 출력 리소스를 열 수 없습니다.
WriteFeedException전체 출력을 기록할 수 없습니다.
CloseFeedException출력 리소스를 닫을 수 없습니다.
ResourceMetaException필요한 스트림 메타데이터를 사용할 수 없습니다.
FeedGenerationException특정 피드 클래스의 생성에 실패했습니다.

FeedGenerationException::getFeed()는 피드 클래스를 반환합니다. getFeedTarget()은 대상별 생성에서는 대상 키를, 일반 피드에서는 null을 반환합니다. 원래 오류는 getPrevious()로 확인할 수 있습니다.

애플리케이션에서 복구하거나 사용자에게 맥락을 제공할 수 있는 곳에서만 예외를 잡으십시오. 복구할 수 없는 생성 오류는 Laravel이 보고하도록 두십시오.

관련 문서​