2013-02-24 24 views
14

Dưới đây là câu lệnh try try của tôi trong hàm. Tôi đã không được sử dụng cố gắng nắm bắt nhiều tuyên bố, tôi muốn biết làm thế nào để trả lại giá trị trong một câu thử bắt nên tôi trả lại giá trị sau khi thử và bắt tuyên bố hoặc trở về trong thử khối là ok?thử và bắt trong php tôi nên trở lại trong khối thử?

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; 
    } 
} 
+1

Bạn đã thử chưa? Điều này là hoàn toàn tốt – Eric

Trả lời

16

quay lại trong khối thử là ok?

Vâng. Nếu bạn cần trả lại giá trị ở đó, hãy làm điều đó.

try { 
    function_that_throws_exception(); 
    return true; // <-- this will never happen if an exception is raised 

}catch(Exception $e){ 

} 
+0

Cảm ơn tôi đã chỉ nhầm lẫn nếu nó sẽ được trả lại ngay cả khi ngoại lệ đã được nâng lên – Yalamber

+0

@askkirati: Xem ra để trở về trong một khối 'cuối cùng' - có thể cư xử lạ – Eric

+0

@eric PHP không có mệnh đề cuối cùng:) –

Các vấn đề liên quan