如何知道AWS API抛出的异常

时间:2013-07-08 13:11:43

标签: php amazon-web-services

根据documentation中的此页面,您在新AWS API中使用例外来了解错误发生的时间;事实上,他们甚至展示了createBucket函数的示例,但是,当查看API documentation时,它没有提及它可以抛出的确切异常。

是否有详细记录的方法可以找到?

2 个答案:

答案 0 :(得分:2)

如果您正在按函数查找抛出的异常类型,那么您必须按函数查看文档,例如函数 createPresignedUrl 抛出Aws\Common\Exception\InvalidArgumentException。注意某些函数不会抛出异常。

所有异常都是类,当您抛出异常时,您正在使用“new”关键字。要构建自定义Exception,您需要从主Exception中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上找到关于异常的一些内容,你也应该看看here的默认php异常类型。

答案 1 :(得分:1)

我决定在Github上发帖:https://github.com/aws/aws-sdk-php/issues/111

得到了我应该检查所有S3调用的基本S3Exception的响应。