Почему ошибка fopen () не может быть обработана с помощью попытки поймать? [дублировать]Php

Кемеровские программисты php общаются здесь
Anonymous
Почему ошибка fopen () не может быть обработана с помощью попытки поймать? [дублировать]

Сообщение Anonymous »

Я точно не знаю, как работают исключения. Я предполагаю, что они должны избегать ошибок 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

Вернуться в «Php»