根據此頁面中,你使用新的API AWS在例外情況瞭解時發生錯誤的documentation;實際上,他們甚至用createBucket
函數來舉例說明,但是在查看API documentation時,它沒有提及它可以拋出什麼異常。如何知道什麼異常AWS的API拋出
是否有據可查的方式來發現的?
根據此頁面中,你使用新的API AWS在例外情況瞭解時發生錯誤的documentation;實際上,他們甚至用createBucket
函數來舉例說明,但是在查看API documentation時,它沒有提及它可以拋出什麼異常。如何知道什麼異常AWS的API拋出
是否有據可查的方式來發現的?
我決定發佈此Github上:https://github.com/aws/aws-sdk-php/issues/111
明白了我應該檢查所有S3通話的基本S3Exception
的響應。
如果您是通過功能尋找拋出的異常類型,你必須探微按照功能把眼光放在文檔,例如功能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
{
}
這似乎是異常socumentation'http:// docs.aws.amazon.com/ aws-sdk-php-2/latest/namespace-Aws.StorageGateway.Exception.html' – RiggsFolly
@RiggsFolly是的我的意思是是S3的:http://docs.aws.amazon.com/aws-sdk-php-2/latest/namespace-Aws.S3.Exception.html但我真的不想爲所有這些添加一個檢查例外到我的代碼。 – Sammaye