2012-01-09 16 views
3

这是合法的吗?不要靠近我的工作电脑所以无法测试PHP try-catch支持短符号?

try 
    someClass::someStaticFunction(); 
catch(Exception $e) 
    $e->getMessage(); 

特别缺乏支架,类似于if-else语句

if(someBool) 
    someClass::someStaticFunction(); 
else 
    someClass::someOtherFunction(); 

干杯!

+0

我肯定知道,如果其他人是正确的 – Ibu 2012-01-09 23:00:55

回答

0

不,它不是,有一个为try/catch语句没有替代语法...这只是8个字符,再加上异常$é......这不正是长

+0

如果公司遵循的编码标准要么是没有括号或每个支架都有它自己的换行,那么它是相当讨厌 – PandemoniumSyndicate 2012-01-09 23:05:24

+0

什么讨厌?如果一家公司拥有这些代码标准,那么你仍然应该遵守它们,所以所有的代码应该看起来“令人讨厌”......任何拥有这样的编码标准的公司也不可能允许替代语法......但代码质量通常不是通过源文本在屏幕上显示的漂亮程度来衡量的。 – 2012-01-09 23:09:22

+0

@PandemoniumSyndicate事实上,我个人很讨厌为单行表达式编写括号,但try-catch似乎是唯一没有替代语法的构造。 – Narf 2012-01-09 23:11:41

2

不,你必须使用支具支架。请注意,您可以按类型捕获异常:

try { 
    someClass::someStaticFunction(); 
} catch (MyException $e) { 
    // do specific stuff for this exception 
} catch (Exception $e) { 
    // do stuff for other exceptions 
}