简单的PHP通知没有被抓住

时间:2018-03-02 19:07:47

标签: php

出于某种原因,我总是点击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];
        };
    };

1 个答案:

答案 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();
?>