Можно ли сделать какую-то попытку catch, которая будет улавливать предупреждения? например if (!$dom->loadHTMLFile($url)) { //if cant load file handle error my way } Для $url я использую, я получаю Warning (2): DOMDocument::loadHTMLFile(MYURL) [domdocument.loadhtmlfile]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden [APP\controllers\import_controller.php, line 62] Warning (2): DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: I/O warning : failed to […]
Я пытаюсь передать исключение из определенного блока catch в более общий блок catch. Однако он не работает. Я получаю ошибку сервера 500, когда я пытаюсь сделать следующее. Возможно ли это? Я понимаю, что есть легкие обходные пути, но не так ли нормально говорить: «Эй, я не чувствую, что имею дело с этой ошибкой, давайте обходим […]
У меня есть скрипт php, который позволяет во время выполнения скриптов вызывать исключение. Я хочу, чтобы мой PHP возобновлялся с того места, где он остановился (где он исключил исключение). Должен ли я помещать тот же код выполнения в «catch» часть кода? Например, можно сказать, что подключается к mySQL, он терпит неудачу для выключения соединения function […]
Все еще пытаюсь поднять голову вокруг pdo. У меня есть оператор insert, который выполняется с pdo. Вставка отлично работает, однако, если есть ошибка, которую я хотел бы показать пользователю. У меня есть блок catch try try. try{ $insertuser = $db->prepare('INSERT INTO `she_she`.`Persons` (`idnumber`,`addedby`,`firstname`, `middlename`, `surname`, `fullname`, `gender`, `birthdate`, `homelanguage`, `department`, `employeetype`, `employeestatus`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)'); $insertuser->execute(array($idnumber,$user,$firstname, […]
Неужели менее эффективно помещать блок try-catch внутри цикла, а не обертывать цикл с помощью try-catch в php, если предполагается, что цикл завершится, если произойдет исключение? Или нет никакой разницы? РЕДАКТИРОВАТЬ: т.е. foreach (/*…*/) { //… try { //… } catch (/*…*/) { break; } //… } против: try { foreach (/*…*/) { //… } }
В следующем примере, если класс не существует, я хочу поймать ошибку и создать вместо Null класс Null . Но, несмотря на мои утверждения try / catch, PHP просто говорит, что Class 'SmartFormasdfasdf' not found . Как я могу заставить PHP поймать ошибку «class not found»? <?php class SmartFormLogin extends SmartForm { public function render() { […]
Я использую Laravel 4 с MySQL, и я хочу знать, как управлять возможными ошибками при вставке, обновлении или удалении записи в БД. Например, если я сделаю обновление следующим образом: DB::table('user')->where('id', $id)->update($userdata); Как я могу узнать, завершился ли запрос? Я думал об использовании блока try-catch, чтобы поймать исключение и разобраться с ним, но я хочу знать, […]
когда я пытаюсь getimagesize($img) и изображение не существует, я получаю сообщение об ошибке. Я не хочу сначала проверить, существует ли файл, просто обработайте ошибку. Я не уверен, как работает try catch , но я хочу сделать что-то вроде: try: getimagesize($img) $works = true catch: $works = flase
Я знаю, что это странно, но в моем коде есть ошибки в режиме разработки и ошибки режима производства. Это функция, которую я имею: private function error($message, $mysql_error = null){ if( DEVELOPMENT_MODE ){ $exp = new Exception(); $trace = $exp -> getTrace(); array_shift( $trace ); // removes this functions from trace $data["Error Mg"] = $message; $data["MySQL […]
Я использую PHP с каркасом CodeIgniter. Я прочитал несколько статей, в которых использование методов try / catch в плохой практике. Я понимаю, что нужно использовать ведение журнала в процессе разработки, когда может возникнуть потенциальная ошибка, и пусть фактическая ошибка произойдет, а затем log_message('level', 'message') ее с помощью log_message('level', 'message') Но при развертывании вы хотите подавлять […]