2012-01-09 88 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 
}