捕获包含/评估内部的异常/需要PHP

时间:2017-09-28 16:55:17

标签: php

如果我有一个include.php文件,其内容为;

<?php
    try {
        // something that causes an exception
    }
    catch (Exception $e) {
        // catch the exception and continue code
    }
    print "Something after Exception caught, but it doesn't print.";
?>

主PHP文件是main.php with;

<?php
    include ('include.php');
?>

我收到未捕获的异常错误?

我也尝试过使用eval(),但无论如何,我都无法让代码继续在包含的文件中。看起来你无法在include / eval中捕获异常并继续执行你包含的代码。

我可以将include / eval包装在main.php中的Try Catch中,并允许main.php继续,但include.php中其余的php不会评估。

这不可能吗?我有不同的场景,我希望代码如何对包含的文件做出反应。例如,我正在使用Selenuim WebDriver,如果代码文件暂停脚本,它总是会出现异常错误。所以我需要捕获Exceptions以逻辑继续。或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我发现了问题,我想因为我必须在包含的内容中使用命名空间来使WebDriver正常运行,我还需要继续使用我的&#34;使用\ Exception&#34;在包含的文件中。因此现在正在使用Exception。所以代码按预期执行。我测试了一个基本的例子,就像我提供的那样有效,所以我看了它,因为它必须是我的代码中唯一的东西。