php: try-catch nie łapie wszystkich wyjątków

Próbuję wykonać następujące czynności:

try {
    // just an example
    $time      = 'wrong datatype';
    $timestamp = date("Y-m-d H:i:s", $time);
} catch (Exception $e) {
    return false;
}
// database activity here

W skrócie: inicjalizuję niektóre zmienne do umieszczenia w bazie danych. Jeśli inicjalizacja zakończy się niepowodzeniem z jakiegokolwiek powodu - np. ponieważ $ time nie jest formatem oczekiwanym - chcę, aby metoda zwracała fałsz i nie wprowadzała błędnych danych do bazy danych.

Jednak takie błędy nie są wychwytywane przez instrukcję „catch”, ale przez globalny program obsługi błędów. A potem skrypt kontynuuje.

Czy istnieje sposób na to? Po prostu pomyślałem, że byłoby to czystsze, aby zrobić to w ten sposób, zamiast ręcznie sprawdzać każdą zmienną, co wydaje się nieskuteczne, biorąc pod uwagę, że w 99% przypadków nie dzieje się nic złego.

questionAnswers(4)

yourAnswerToTheQuestion