2011-11-07 98 views
4

PHP中是否有任何選項可以從函數中「返回false」併發送相應的消息(如何出錯)?如何「返回false」併發送消息?

拋出異常是實現這一目標的最佳方式嗎?

+0

可能重複的[PHP - 驗證函數返回true | false,並且消息如果爲false](http://stackoverflow.com/questions/5765057/php-validation-function-to-return-truefalse-and- a-message-if-false) – j08691

回答

0

如果成功或失敗,您可以更改函數以返回truefalse,並返回您的變量參數傳遞的參數。

I.e.改變:

function foo() 
{ 
    return true; 
} 

function foo(&$ret) 
{ 
    if ($something_went_wrong) 
     return false; 
    $ret = true; 
    return true; 
} 
3

拋出異常是一件好事,但它不是從字面上等於return false
但是如果你的邏輯可以維持一個例外,它的好扔掉它。可能會有一些不同類型的,不是一般的Exception雖然

+0

如何使用特定代碼跟蹤此問題的一般例外情況? –

1

呀,使用異常,如果趕上你可以使用var設置爲false以及收到一條錯誤消息的異常。

function foo($a = null) { 
    if(!$a) { 
     throw new Exception('$a must be defined'); 
    } 
} 

try { 
    $var = foo(); 
} catch(Exception $e) { 
    $var = false; 
    echo $e->getMessage(); 
} 

這樣,當出現問題時,您可以隨心所欲地做任何事情。

0
function bla(){ 
    return false; 
} 
if(bla() === false){ 
    echo "Failed"; 
} 

但我相信例外是更好的。

相關問題