以下是函数中的try catch
语句。我没有多使用try catch语句,我想知道如何在try catch语句中返回值。我应该在try和catch语句之后返回一个值,还是在try块中返回OK?
function createBucket($bucket_name) {
if ($this->isValidBucketName($bucket_name)) {
if ($this->doesBucketExist($bucket_name)) {
return false;
}
else {
try {
$this->s3Client->createBucket(
array(
'Bucket' => $bucket_name,
'ACL' => CannedAcl::PUBLIC_READ
// Add more items if required here
));
return true;
}
catch (S3Exception $e) {
$this->airbrake->notifyOnException($e);
return false;
}
}
}
else {
$this->airbrake->notifyOnError('invalid bucket name');
return false;
}
}
答案 0 :(得分:16)
在try块中返回OK?
是的,确实如此。如果你需要在那里返回值,那就去做吧。
try {
function_that_throws_exception();
return true; // <-- This will never happen if an exception is raised
}
catch(Exception $e){
}