isset Kendiniz bir exception oluşturup içeride onu fırlatın. Önce şu sayfayı inceleyin (Laravel versiyonunuza göre kontrol etmeyi unutmayın):
https://laravel.com/docs/11.x/errors
Kendiniz nasıl exception oluşturursunuz, bunu nasıl kullanırsınız öğrendikten sonra artık yazdığınız yöntemler içinde kendi exception sınıflarınızı kullanabilirsiniz. Mesela:
public function prepareDates(CarbonInterface $startsAt, CarbonInterface $endsAt, ?int $maxDays = null): array
{
if($maxDays > 0 && $startsAt->diffInDays($endsAt) > $maxDays) {
throw new MaxDateRangeExceededException(
__('Date difference exceeds :maxDays days limit.', compact('maxDays'))
);
}
return [
$startsAt->toDateTimeString(),
$endsAt->toDateTimeString(),
];
}
Bunu artık kendiniz bir yerde kullanırsanız try catch içinde yakalayabilirsiniz ya da controller içinde yaparsanız render özelliği ile otomatik response'a dönüştürebilirsiniz.