<?php
$obj = new demo;
$obj->index();
class demo{
public function index()
{
try {
$arr = [1,2,3];
array_walk($arr, function($value,$key){
array_walk([2,3,5], function(){
//这里的闭包无法使用$this
但是代码异常,没有走到catch
$this->test();
});
});
} catch (Exception $e) {
echo 23;
}
}
public function test($i)
{
echo $i;
}
}
上面代码异常了,但是为什么没有走catch 分支呢???
这属于
error
,try catch
只捕获异常,不处理error
try catch
是处理除0
和属性重复
这些可预见的异常情况,语法错误检查这种事情它是做不到的,也不需要它做,就算它捕捉到了你需要他做什么呢?说代码出错了吗?error
这种报错需要去log
里面看