如何捕获此错误:“注意:未定义的偏移量:0”

2022-08-30 08:32:34

我想抓住这个错误:

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

编辑:实际上,我在以下行上得到了这个错误:$parse = $xml->children[0]->children[0]->toArray();


答案 1

您需要定义自定义错误处理程序,例如:

<?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";
}

答案 2

您不能使用 try/catch 块,因为这是一个错误,而不是异常。

在使用它们之前,始终尝试偏移量:

if( isset( $a[ 0 ] ) { $b = $a[ 0 ]; }

推荐