nuri60 500 dediğiniz http hatası. Sunucuda php işlemini kesen ya da tüm çalışmayı kesen bir hata oluştuğunda bunu sunucu size 5xx olarak verir.
PHP'de Throwable arayüzü var, bu arayüzü gerçekleyen hataları sadece yakalayabilirsiniz. Bu da PHP 8+ için geçerli. Örneğin sizin bu yazdığınız kodda $todo = null; yazan satırdaki hatayı PHP 7.4 ile yakalayamazsınız ama PHP 8+ ile yakalayabilirsiniz. Syntax hatası gibi PHP hatalarını ise hiçbir sürümde yakalayamazsınız.
PHP 8+ kullanıyorsanız şöyle yapmanız lazım:
try {
} catch (Throwable $exception) {
}