出于某种原因,我总是点击echo命令(去读它),即使之前在该行上引发了错误。这很奇怪,因为我明确写道,php应该捕获所有错误。 ((Exception $e)
部分)
发生了什么,我该如何解决?
$result = '';
for ($k=0; $k < (int)(mb_strlen($plaintext)/2); $k++) {
try {
$i = (strpos($key1, $plaintext[$k]) + $n) % $L1;
$temp = $key[$k]; // Assume an error will raise here
echo "Should never get here, as $key[$k] always should raise an error, as the key was not found\n";
$result .= $temp;
} catch (Exception $e) { // (Exception $e) doesn't work either
$result .= $key1[$i];
};
};
答案 0 :(得分:0)
查看文档here:
注意:
内部PHP函数主要使用错误报告,只使用现代对象 面向扩展使用异常。但是,错误可以简单地转换为具有ErrorException的异常。
根据that,您可以在引发异常的处理程序中包装错误:
示例#1使用set_error_handler()将错误消息更改为 ErrorException。
<?php
function exception_error_handler($severity, $message, $file, $line) {
if (!(error_reporting() & $severity)) {
// This error code is not included in error_reporting
return;
}
throw new ErrorException($message, 0, $severity, $file, $line);
}
set_error_handler("exception_error_handler");
/* Trigger exception */
strpos();
?>