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.