2013-07-08 59 views
0

根據此頁面中,你使用新的API AWS在例外情況瞭解時發生錯誤的documentation;實際上,他們甚至用createBucket函數來舉例說明,但是在查看API documentation時,它沒有提及它可以拋出什麼異常。如何知道什麼異常AWS的API拋出

是否有據可查的方式來發現的?

+0

這似乎是異常socumentation'http:// docs.aws.amazon.com/ aws-sdk-php-2/latest/namespace-Aws.StorageGateway.Exception.html' – RiggsFolly

+0

@RiggsFolly是的我的意思是是S3的:http://docs.aws.amazon.com/aws-sdk-php-2/latest/namespace-Aws.S3.Exception.html但我真的不想爲所有這些添加一個檢查例外到我的代碼。 – Sammaye

回答

2

如果您是通過功能尋找拋出的異常類型,你必須探微按照功能把眼光放在文檔,例如功能createPresignedUrl拋出Aws\Common\Exception\InvalidArgumentException。注意一些函數不會引發異常。

所有異常類,當你扔你正在使用的「新」的關鍵字例外。要構建自定義異常,您需要從主異常中獲得Extend這些異常!那意味着什麼 ?

你只是不擔心,做這種方式。

全球捕獲到異常

try 
{ 
    # code here 
} 

# if the exception type is match, script going inside this part. 
catch (BucketAlreadyExistsException $e) 
{ 
    echo 'That bucket already exists! ' . $e->getMessage() . "\n"; 
} 

# Catching many type you want. 
catch (OverflowException $e) 
{ 
    echo $e->getMessage . " - " . $e->getCode(); 
} 

# Like a else, this part is catching all unhandled exception types. 
catch (Exception $e) 
{ 
    echo $e->getMessage . " - " . $e->getCode(); 
} 

# if you're using php 5, you can also use finally instruction 
finally 
{ 

} 

您可以找到有關PHP doc例外幾intrusting行了,你也應該看看here默認PHP異常類型。

+0

你看到一些例外情況我其實是想在單獨的catch語句捕捉創建自定義錯誤處理所以只餵它們全部通過一個功能不好再加上我會pefer通過方法的基礎上的方法,如果我想創建自定義的處理某些錯誤如果我不知道哪些函數會拋出哪些異常,我如何知道哪些錯誤是我希望創建的處理方式? – Sammaye

+0

我已經更新了我的答案。 – barbu

+0

我的意思是:有沒有描述每個函數拋出什麼的地方? – Sammaye

相關問題