我正在使用rackspace cloudfiles API动态上传文件,它需要做的第一件事是检查容器是否存在,如果不存在,则创建它。
所以我写下以下内容:
if($container = $conn->get_container('my_container')){
echo 'yay';
} else {
$container = $conn->create_container('my_container');
$container->make_public();
}
但是如果容器不存在get_container
会抛出异常,所以我会收到致命的错误。做我想做的事情的最好方法是什么?
答案 0 :(得分:1)
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();
}
答案 1 :(得分:1)
你也可以期待一个明确的例外:
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');
}
如果您遇到网络问题或相关问题,这不会失败。