try { include('') } catch(e) { die('error') } или @include('') or die('error') или if (file_exists('')) { include('') } или $result = ('SELECT 1 FROM files WHERE file_name="" LIMIT 1') if ($result) { include('') }
Ответ Правильнее. Собака не избавляет от ошибки, она лишь подавляет ее вывод А try-catch позволяет не только подавить, но и еще принять какие-то конкретные меры. по скорости - очень забавно. Если все идет гладко, это самый быстрый способ, за исключением просто голого кода. При возникновении ошибки - один из самых медленных. <?php $time = microtime(true) for($i=0 $i<1000000 $i++){ @divByZero($i,0) } print((microtime(true)-$time).'<br />') //1.66923713684 - делим на 0 //1.25963785172 - делим на 3 $time = microtime(true) for($i=0 $i<1000000 $i++){ try{ divByZeroE($i,0) }catch(Exception $e){<br> } } print((microtime(true)-$time).' ') //5.61499404907 - делим на 0 //0.690489969254 - делим на 3 $time = microtime(true) for($i=0 $i<1000000 $i++){ divByZeroIfOnly($i,0) } print((microtime(true)-$time).'<br />') //0.69531083107 - делим на 0 //0.69578036312 - делим на 3 function divByZero($a,$b){ return $a/$b } function divByZeroE($a,$b){ if($b==0) throw new Exception('Division By Zero') return $a/$b } function divByZeroIfOnly($a,$b){ if($b==0) return false return $a/$b } теперь полный? =)