2014-10-05 3 views
0

Я хочу знать, можно ли использовать try catch в процедуре, чтобы найти исключения и сделать что-то, когда я их поймаю следующим образом: убедитесь, что изображение загружено, а затем попробуйте изменить размер изображения если функция изменения размера имела такую ​​проблему, как (memory_limit), удалите изображение.php exception try catch in processural way

if(move-uploaded-file($_FILES['name']['tmp_name'], "folder/image.png"){ 
    try{ 
     resizeimage("folder/image.png", "folder/image.png"); 
    }catch(Exception $e){ 
     unlink("folder/image.png"); 
    } 
} 

ответ

0

Если это код, который вы хотите использовать, объект Exception в улове будет доступен, если Попробовать {} ошибка, и вы будете иметь доступ к это методе. http://php.net/manual/en/language.exceptions.php. То, как вы обрабатываете ошибку с помощью методов Exception, является единственной частью кода, которая будет объектно-ориентированной. Все внутри улова может быть как процедурным, как вам нравится.

+0

Извините, все внутри try {} может быть как процедурным, как вам нравится. – davidbenjamin998

+0

Большое спасибо, если у меня есть фатальная ошибка (например: memory_limit), эта ошибка будет уловлена ​​или нет? – yaskab

+0

http://php.net/manual/en/exception.getmessage.php В вашем случае, если у вас есть в вашем catch $ e-> getMessage(); и для вашего сценария он вернет что-то вроде: «Попытка выделить x объем памяти, но не удалось» – davidbenjamin998