Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cloudfiles API:当容器不';不存在_Php_Rackspace Cloud_Rackspace_Cloudfiles - Fatal编程技术网

Php cloudfiles API:当容器不';不存在

Php cloudfiles API:当容器不';不存在,php,rackspace-cloud,rackspace,cloudfiles,Php,Rackspace Cloud,Rackspace,Cloudfiles,我正在使用rackspace cloudfiles API动态上传文件,它需要做的第一件事是检查容器是否存在,如果不存在,创建它 因此,我写了以下内容: if($container = $conn->get_container('my_container')){ echo 'yay'; } else { $container = $conn->create_container('my_container'); $container->make_public(

我正在使用rackspace cloudfiles API动态上传文件,它需要做的第一件事是检查容器是否存在,如果不存在,创建它

因此,我写了以下内容:

if($container = $conn->get_container('my_container')){
   echo 'yay';

} else {
   $container = $conn->create_container('my_container');
   $container->make_public();   
}                                           

但是,如果容器不存在,get_container会抛出一个异常,因此我会得到一个致命错误。做我在这里尝试做的事情的最佳方式是什么?

您也可以期待一个明确的异常:

try {
    $container = $conn->get_container('my_container');
    $obj_list = $container->list_objects();
    print_r($obj_list);
}
catch (Exception $e) {
    $container = $conn->create_container('my_container');
    //$container->make_public();
}
try {
    $container = $conn->get_container('my_container');
    $obj_list = $container->list_objects();
    print_r($obj_list);
}
catch (NoSuchContainerException $e) {
    $container = $conn->create_container('my_container');
}
如果您有网络问题或相关问题,此操作不会失败。

请使用。