Eventos e exceções
Use eventos do ciclo de vida para integrar a aplicação e os tipos de exceção para recuperação no limite capaz de tratar a falha.
Eventos do ciclo de vida
| Evento | Dados públicos | Momento do disparo |
|---|---|---|
FeedStartingEvent | feed, target | Após a verificação preliminar do armazenamento e do caminho, antes da resolução do conversor e da preparação. |
FeedFinishedEvent | feed, target, path, paths | Depois da publicação bem-sucedida de todos os arquivos gerados. |
$target contém a chave do alvo para uma geração direcionada e null para um feed comum. FeedFinishedEvent::$paths contém todos os caminhos publicados em ordem. $path é mantido para compatibilidade e sempre contém o primeiro caminho.
Falhas de entrada e busca
| Exceção | Significado |
|---|---|
InvalidFeedArgumentException | O ID do feed no console é inválido. |
FeedNotFoundException | Não existe registro para o ID solicitado. |
InvalidExpressionException | A expressão de agendamento é inválida. |
UnknownFeedClassException | A classe configurada não pode ser resolvida. |
UnexpectedClassException | A classe resolvida não atende ao contrato esperado. |
A seleção de alvos usa exceções SPL. Quando --target é fornecido, feed:generate lança InvalidArgumentException se nenhum ID de registro do feed for informado, se uma chave de alvo estiver vazia ou se o feed selecionado não implementar HasFeedTargets. O comando lança UnexpectedValueException quando findTarget() retorna null.
Falhas de serialização e armazenamento
| Exceção | Significado |
|---|---|
InvalidCsvRowException | A linha CSV não corresponde ao esquema de colunas definido. |
InvalidCsvValueException | Um campo CSV não pode ser serializado como valor escalar. |
InvalidXmlCDataException | O valor CDATA é inválido. |
InvalidXmlFragmentException | O fragmento XML bruto é inválido. |
UnsupportedStorageDiskException | O disco Laravel escolhido não é resolvido como FilesystemAdapter. |
OpenFeedException | O recurso temporário de saída não pode ser aberto. |
WriteFeedException | A saída completa não pode ser gravada. |
CloseFeedException | O recurso de saída não pode ser fechado. |
ResourceMetaException | Os metadados necessários do stream não estão disponíveis. |
FeedGenerationException | A geração falhou para uma classe de feed. |
FeedGenerationException::getFeed() retorna a classe do feed. getFeedTarget() retorna a chave do alvo para uma geração direcionada e null para um feed comum. A falha original continua disponível por getPrevious().
Capture exceções somente onde a aplicação puder adicionar recuperação ou contexto útil. Deixe o Laravel reportar falhas irrecuperáveis.