Я точно не знаю, как работают исключения. Я предполагаю, что они должны избегать ошибок PHP и отображать «мое сообщение об ошибке». Например, я хочу открыть файл: < /p>
Код: Выделить всё
class File{
public $file;
public function __construct($file)
{
try{
$this->file = fopen($file,'r');
}
catch(Exception $e){
echo "some error" . $e->getMessage();
}
}
}
$file = new File('/var/www/html/OOP/texts.txt');
< /code>
И это работает. Теперь я намеренно изменяю имя файла texts.txt
на tex.txt , чтобы просто увидеть сообщение об ошибке из моего блока улова, но вместо этого PHP дает предупреждение об ошибке: Fopen (/var/www/html/oop/texts.txt): не удалось открыть Stream: No File или Directory in /var/wwww/html/op): no stream: no file или directory in /var/wwww/html/op). Так что это ошибка PHP, но она не отображает сообщение об ошибке из блока Catch. Что я делаю не так? Как именно Try/поймать работу?
Подробнее здесь:
https://stackoverflow.com/questions/387 ... -try-catch