0

私はrackspacecloudfilesAPIを使用してファイルをその場でアップロードしています。最初に行う必要があるのは、コンテナーが存在するかどうかを確認し、存在しない場合は作成することです。

だから私は次のように書きます:

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

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

しかし、コンテナが存在しない場合get_containerは例外がスローされるため、致命的なエラーが発生します。私がここでやろうとしていることをするための最良の方法は何ですか?

4

2 に答える 2

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();
}
于 2011-12-04T00:24:37.983 に答える
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');
}

ネットワークに問題がある場合や関連するものがある場合、これは失敗しません。

于 2012-05-29T16:05:49.357 に答える