相关疑难解决方法(0)

PHP:'或'语句失败:如何抛出新的异常?

这里的每个人都应该知道'或'状态,通常粘在die()命令上:

$foo = bar() or die('Error: bar function return false.');
Run Code Online (Sandbox Code Playgroud)

大多数时候我们看到类似的东西:

mysql_query('SELECT ...') or die('Error in during the query');
Run Code Online (Sandbox Code Playgroud)

但是,我无法理解'或'语句究竟是如何工作的.

我想抛出一个新的异常而不是die(),但是:

try{
    $foo = bar() or throw new Exception('We have a problem here');
Run Code Online (Sandbox Code Playgroud)

不起作用,也不起作用

$foo = bar() or function(){ throw new Exception('We have a problem here'); }
Run Code Online (Sandbox Code Playgroud)

我发现这样做的唯一方法是这个可怕的想法:

function ThrowMe($mess, $code){
    throw new Exception($mess, $code);
}
try{
    $foo = bar() or ThrowMe('We have a problem in here', 666);
}catch(Exception $e){
    echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

但是有一种方法可以在'或'语句之后直接抛出新的异常吗?

或者这种结构是强制性的(我完全不依赖于ThrowMe功能):

try{
    $foo = bar();
    if(!$foo){ …
Run Code Online (Sandbox Code Playgroud)

php exception-handling exception logical-operators

19
推荐指数
1
解决办法
8829
查看次数