php怎么捕获异常? php怎么捕获异常? 有没有类似.net try catch机制? php不能逐行调试 蛋疼!------解决方案-------------------- 有的 写法一样 try { } catch (Exception $e) { print $e->getMessage(); } ------解决方案--------------------
引用:
有没有类似.net try catch机制?
这个真心有~
引用:
php不能逐行调试 蛋疼!
楼主没找对ide
------解决方案-------------------- 其实php的调试可以随时调,想在哪里调,最简单就是在哪里输出。当然zend-studio也提供了断点功能调试,但是远不如这样方便。
其实都各有各的好处,哥,还是从了吧。
------解决方案-------------------- #1 可爱北极熊 正解
------解决方案-------------------- 还需要在try{}语句块里抛出异常 throw new Exception('It is an exception!') ,然后由catch(Exception $e) 捕获。
------解决方案-------------------- 用echo来放点找异常,php没法啊
------解决方案-------------------- 那就去看php的error_log啊...会有各种详细的报错信息....还有啥可catch的...
------解决方案-------------------- 错误大体有两种,一种是php可以捕获到的,例如语法错误。还有一种,是逻辑上的错误,这种错误机器并不能捕获,所以才会用到try catch人为捕获。
我想你说的错误只是前一种,那么打开错误提示display_errors = On,就可以看到。
------解决方案-------------------- 置顶帖子里的基础问答里有 怎么打开错误提示的.
------解决方案-------------------- 还有set_exception_handle。
------解决方案-------------------- 你这段代码没异常,当然不会执行那句
引用:
PHP code try{ $a="sgfdfgdf"; $b= (int)$a; echo($b); } catch(exception $e){ echo("出错啦".$e->getMessage());//这里并木有执行啊 }
------解决方案-------------------- 咳咳,这个不是错,在php里, 自动转换
引用:
引用: 你这段代码没异常,当然不会执行那句 引用: PHP code try{ $a="sgfdfgdf"; $b= (int)$a; echo($b); } catch(exception $e){ echo("出错啦".$e->getMessage());//这里并木有执行啊 ……
------解决方案--------------------
引用:
整形转换错误 这还不是错误啊
在任何语言中,强制类型转换都不会是错误!
虽然有时你并没有得到期望的结果
------解决方案-------------------- php的错误异常和java的类似,不过一般都要自己去抛出:例子:
try{
$m = 0;
if($m throw new Exception('m='.$m.':小于零');
}
echo $m;
} catch(exception $e){
echo "错误[line->".($e->getLine())."]: ".($e->getMessage());
}
------解决方案-------------------- php弱类型 改变数据类型没有问题
------解决方案-------------------- 让除数为0 ,就会看到抛异常了