Intereting Posts
Стриптируйте код встраивания YouTube только до URL-адреса .htaccess перенаправить, если в iframe Рефакторинг реализации Zend_Auth BelongsTo проблема в cakephp и html select, я не могу понять, как это сделать PHP, загружающий несколько изображений и вставляя в базу данных Объектно-ориентированное программирование -> Оператор проблема с содержимым потока PHPExcel – Как я могу прочитать лист Excel по строкам JavaScript: Как создать JSONP? Magento: максимальное количество максимального продукта до 1 за заказ. количество 2 = 2 заказа Parse js / css как файл PHP с использованием htaccess mysqli соединение не работает внутри функции? CodeIgniter: как «выделить» ссылку на страницу, на которой пользователь в данный момент включен? PHP: получение «использования неопределенного константы COOKIE_LOGIN», как я могу это исправить? Получите сохраненные данные Zend_Auth из-за проекта zend (во внешнем non-zend-проекте)

Как поймать эту ошибку: «Примечание: Неопределенное смещение: 0»

Я хочу поймать эту ошибку:

$a[1] = 'jfksjfks'; try { $b = $a[0]; } catch (\Exception $e) { echo "jsdlkjflsjfkjl"; } 

Изменить: на самом деле, я получил эту ошибку в следующей строке: $parse = $xml->children[0]->children[0]->toArray();

Вам нужно определить свой собственный обработчик ошибок, например:

 <?php set_error_handler('exceptions_error_handler'); function exceptions_error_handler($severity, $message, $filename, $lineno) { if (error_reporting() == 0) { return; } if (error_reporting() & $severity) { throw new ErrorException($message, 0, $severity, $filename, $lineno); } } $a[1] = 'jfksjfks'; try { $b = $a[0]; } catch (Exception $e) { echo "jsdlkjflsjfkjl"; } 

Вы не можете с блоком try / catch, так как это ошибка, а не исключение.

Всегда пытайтесь выполнить смещения перед их использованием:

 if( isset( $a[ 0 ] ) { $b = $a[ 0 ]; } 
 $a[1] = 'jfksjfks'; try { $offset = 0; if(isset($a[$offset])) $b = $a[$offset]; else throw new Exception("Notice: Undefined offset: ".$offset); } catch (Exception $e) { echo $e->getMessage(); } 

Или, без неэффективности создания очень временного исключения:

 $a[1] = 'jfksjfks'; $offset = 0; if(isset($a[$offset])) $b = $a[$offset]; else echo "Notice: Undefined offset: ".$offset; 

Я знаю, что это 2016 год, но если кто-то доберется до этого поста.

Вы можете использовать метод array_key_exists($index, $array) , чтобы избежать исключения.

 $index = 99999; $array = [1,2,3,4,5,6]; if(!array_key_exists($index, $array)) { //Throw myCustomException; } 

Как правило, вы не можете захватывать уведомления с помощью блока try-catch. Но вы можете конвертировать уведомления в исключения! Используйте этот способ:

 function get_notice($output) { if (($noticeStartPoint = strpos($output, "<b>Notice</b>:")) !== false) { $position = $noticeStartPoint; for ($i = 0; $i < 3; $i++) $position = strpos($output, "</b>", $position) + 1; $noticeEndPoint = $position; $noticeLength = $noticeEndPoint + 3 - $noticeStartPoint; $noticeMessage = substr($output, $noticeStartPoint, $noticeLength); throw new \Exception($noticeMessage); } else echo $output; } try { ob_start(); // Codes here $codeOutput = ob_get_clean(); get_notice($codeOutput); } catch (\Exception $exception) { // Catch (notice also)! } 

Кроме того, эту функцию можно использовать для обнаружения предупреждений. Просто измените имя функции на get_warning и измените "<b>Notice</b>:" на "<b>Warning</b>:" .

Примечание . Функция будет захватывать невинный вывод, который содержит:

<B> Примечание </ b>:

Но чтобы избежать этой проблемы, просто измените ее на:

<B> Примечание: </ b>

Я уверен, почему Ошибка Бросок, но я исправить некоторые ..

в html2pdf.class.php

на линиях 2132:

 //FIX: $ctop=$corr[$y][$x][2]<=count($sw)?$corr[$y][$x][2]:count($sw); $s = 0; for ($i=0; $i<$ctop; $i++) {$s+= array_key_exists($x+$i, $sw)? $sw[$x+$i]:0;} - //FIX: $ctop=$corr[$y][$x][2]<=count($sw)?$corr[$y][$x][2]:count($sw); $s = 0; for ($i=0; $i<$ctop; $i++) {$s+= array_key_exists($x+$i, $sw)? $sw[$x+$i]:0;} 

SAME В строке 2138:

 //FIX: $ctop=$corr[$y][$x][2]<=count($sw)?$corr[$y][$x][2]:count($sw); for ($i=0; $i<$ctop; $i++) { - //FIX: $ctop=$corr[$y][$x][2]<=count($sw)?$corr[$y][$x][2]:count($sw); for ($i=0; $i<$ctop; $i++) { 

проблема в массиве $ sw не имеет ключа $ corr [$ y] [$ x] [2], поэтому я исправляю цикл для max count ($ sw) для исправления. Я не знаю, создает ли это другое consecuense но я разрешаю свою проблему. У вас больше нет ошибок.

Поэтому я надеюсь, что сработает для вас .. !!! Beats Reguards