我正在使用 S3 php sdk 及其幼虫实现将对象放到 S3 上。
try {
$s3->putObject(array(
'Bucket' => 'mybucket',
'Key' => 'abc',
'Body' => $img->encode(null, 90),
'ACL' => 'public-read',
'ContentType' => $img->mime()
));
}
catch (S3Exception $e) {
var_dump('error');
die();
}
但是上面的代码好像并没有捕捉到错误。我设置了不正确的存储桶,但仍然出现错误:
type:Aws\S3\Exception\NoSuchBucketException, message:The specified bucket does not exist,…
我怎样才能捕捉到这个错误并相应地采取行动。
最佳答案
使用正确的父类
要捕获所有 S3 异常 - 确保引用正确的命名空间:
catch (\Aws\S3\Exception\S3Exception $e) {
或者
<?php
use Aws\S3\Exception\S3Exception;
...
catch (S3Exception $e) {
否则,catch block 不会捕获 S3 库抛出的异常。
关于php - 使用 put 对象和 s3 捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24351889/