まじめに思い出したら
float sqrt ( float arg )
なんてのがあったな。

if ($foo >= 0){
 $bar = sqrt($foo);
}else{
 $bar = 0;
 echo "error";
}

とするか

try{
 $bar = sqrt($foo);
}catch(Exception $e){
 $bar = 0;
 echo "error";
}

だな。見た目は似てるけどtry catchの方は一回2行目でエラーが発生してて
それを無理矢理正常なふりをしようってのがcatch文。