我想知道在php中引发的异常是否会终止php中的脚本?
因为当我保存已在doctrine中创建的条目时,它会引发异常。
我捕获异常并忽略它(以便用户不会看到它),但脚本似乎已被终止。
有没有办法捕获异常并保持脚本活着?
感谢
答案 0 :(得分:2)
您需要包含可能在try...catch
块中引发异常的函数调用。
class EvilException extends Exception {}
class BadException extends Exception {}
function someMethodThatMayThrowException() {
...
...
throw new EvilException( "I am an evil exception. HAHAHAHA" );
}
try {
someMethodThatMayThrowException();
} catch( BadException $e ) {
//deal with BadException here...
} catch( EvilException $e ) {
//deal with EvilException here...
throw new Exception( "will be caught in next catch block" );
} catch( Exception $e ) {
echo $e->getMessage(); //echoes the string: "will be caught in next catch block"
}
如果捕获异常,脚本将不会终止。如果抛出的异常没有catch
块进入,则会发生上述情况。