Php 是否有一种使用try/catch异常的较短方法?

Php 是否有一种使用try/catch异常的较短方法?,php,Php,在nodejs中呆了一段时间,刚刚回到PHP。在Javascript中处理try/catch块似乎要简单得多: try{ throw('Hello!'); }catch(e){ console.log(e); } …长度仅为70个字符 现在在PHP中: try{ throw new Exception('Hello!'); }catch(Exception $e){ var_dump($e->getMessage()); } …长度超过108个字符。 这大约是54%更多需要使用的字符

在nodejs中呆了一段时间,刚刚回到PHP。在
Javascript
中处理
try/catch
块似乎要简单得多:

try{
throw('Hello!');
}catch(e){
console.log(e);
}
…长度仅为70个字符

现在在PHP中:

try{
throw new Exception('Hello!');
}catch(Exception $e){
var_dump($e->getMessage());
}
…长度超过108个字符。 这大约是54%更多需要使用的字符


有没有办法缩短此块,使其更像
Javascript的
try/catch
块?扩展是否存在,或者可能以不同的方式存在,但具有相同的功能?

不要忘记,在PHP中,可以使用不同的catch块来处理不同类型的错误,如下所示:

        try
        {
            // Do something here
        }
        catch(\PauseException $exception)
        {
        }
        catch(\GotoException $exception)
        {
        }
        catch(\FatalException $exception)
        {
        }
        // More catches here

有些人建议,您还应该始终捕获
\Exception
,这样您就永远不会出现未捕获的错误。在JavaScript中,这不是必需的,因为异常是字符串,而不是对象。

由于PHP支持不同类型的异常(并且您需要指示要抛出的类型),并且您可能希望在捕获不同的异常类型时以不同的方式处理它们,答案是“否”。。。。在PHP脚本中保存38个字符真的很重要吗?简单地说,PHP!==JavascriptNot编写此问题为您提供了4个免费的try-catch块:好的一点马克,只是好奇,因为在未来我会写很多例外。我想我需要在node和php之间切换时进行心理切换,遵守这些规则并接受它们。你可以使用带有自动完成功能的IDE,这将为你节省一些按键。Sweet,我不知道你可以在一次尝试中捕获多个不同类型的异常。一些JavaScript风格(Firefox)使用条件catch子句(
catch(e if e instanceof TypeError){…}catch(e if e instanceof RangeError){…}
…它实际上比PHP更复杂…而且它不是ECMAScript规范eitherInteresting@Mark的一部分,但语法是复杂的,这是对的。哎哟!“实际上比PHP更复杂”@MarkBaker这是不必要的,也是不真实的,没有理由这样贬低Javascript。如果你看我在这里的第一篇文章,我不必使用
$e->getMessage()
要在Javascript中获得抛出的错误,但实际上,只需在JS中使用
e
。我很确定这可以弥补那些轻浮的
每次抛出新异常
行,而不是简单的
抛出
。我觉得很遗憾,当我正在寻找使用exc的较短方法时,你把它变成了一些“PHP VS JS”节目我并没有贬低JavaScript……我只是指出有一个相当于PHP的多个catch块……我并没有把任何东西变成PHP与JavaScript的辩论,尽管在“catch块”中使用了
if
“显然,这是一种复杂的、不太直观的写作方式