QiChatスクリプトをロボットに組み込むときに、スクリプトにバグがあると正常に組み込めない。C++でこのプロセスをALDialogのloadメソッドでやると、組み込み失敗でプログラムが止まってしまう。例外処理をやらないといけないのだ。
APIマニュアルには例外を取れとだけ書いてあってどのような例外がスローされるか書いてなかった。例外処理をしないと実用上とてもまずいので、また、Aldebaranのdeveloper forumに質問したところ早速解答があった。
catch(const std::exception& e){
std::cout << e.what() << std::endl;
}
と、
catch (const AL::ALError& e)
{
std::cout << e.what() << std::endl;
}
のどちらも、正常に機能した。基本的に同じものであるようだ。どちらかでよい。