php-Exception(try-catch構文)のお話し。
AWSclient/sdkのerror-handleで、プチはまりしてしまったので。。
Exceptionのerror-handleについて、サンプルコードを探していると
- Exception
- AwsException
- SnsException
- S3Exception
とかの使い分けを意識できてなかったので。
(モチのロンでしょ、って方には有意義なネタではないですので即終了で。ゴメンナサイ)
コード読み・試作した感じ、正しい実装例としては
sample.php
use Aws\Sns\Exception\SnsException;
function wrap_publish($args)
// ・・・
try {
$ret = $snsClient->publish($args);
} catch (SnsException $e)
$ret = false;
}
return $ret;
}
な感じです。
つまり、 XxxClientに対してはXxxExceptionをcatchしなさいよ ってだけですね。
C++脳で育った自分的には、Exception・RuntimeExceptionでもcatchできるんだと思ってました。(細かいerror-handleはできないとしても)