[openrtm-users 02236] Manager::activateManager() においてモジュールのロードに失敗した場合の振る舞いについて

2 posts / 0 new
Last post
Kei Okada
Offline
Last seen: Never ago
Joined: 2011-05-17 20:20
[openrtm-users 02236] Manager::activateManager() においてモジュールのロードに失敗した場合の振る舞いについて

岡田です.

いつもお世話になっております.
bool Manager::activateManager()
の振る舞いについて質問があるのですが,

try
{
m_module->load(mods[i], basename);
}
catch (...) { ... }
となっていて,モジュールのロードに失敗したときloadのなかで
throw が呼ばれてcatchに引っかかるのですが,そのままコードは
ながれていって,return trueが帰ってくるかと思います.

アプリケーションからactivateManager() を呼び出した場合,例えば
openhrp3.1 のserver/ControllerBridge/main.cpp では,
try {
rtcManager = RTC::Manager::init(1, argv);
rtcManager->activateManager();
}catch(...) {
}
というふうなコードになっていて,throwされることが期待されている
ように思います.

なにが正解かわからないですが,activateManager() のなかでcatchしてもさらにthrowする
か(汚いですね?),return false を返すようにするか,なっているとよいかと思いましたが,
現状のコードになにか理由があれば教えて下さい.

バージョンは1.0.0 をつかっているので,もしかしたら,新しいバージョンでは修正されている
かもしれませんが,いろいろデバッグしていて,ここでエラーがキャッチできていれば,,,と
思ったので連絡をさせていただきました.もちろん.logにはちゃんとエラーがでていて
大変たすかりました.

Undefined
root
Offline
Last seen: 3 days 5 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 02239] Manager::activateManager() においてモジュールのロードに

岡田先生

安藤です

ご指摘ありがとうございます。
この部分は私もいま動的モジュールロードを使っていて、
問題だなと思っていました。少し考えてみますので
少々お待ちください。

2011年9月24日11:04 Kei Okada :
> 岡田です.
>
> いつもお世話になっております.
> bool Manager::activateManager()
> の振る舞いについて質問があるのですが,
>
> try
> {
> m_module->load(mods[i], basename);
> }
> catch (...) { ... }
> となっていて,モジュールのロードに失敗したときloadのなかで
> throw が呼ばれてcatchに引っかかるのですが,そのままコードは
> ながれていって,return trueが帰ってくるかと思います.
>
> アプリケーションからactivateManager() を呼び出した場合,例えば
> openhrp3.1 のserver/ControllerBridge/main.cpp では,
> try {
> rtcManager = RTC::Manager::init(1, argv);
> rtcManager->activateManager();
> }catch(...) {
> }
> というふうなコードになっていて,throwされることが期待されている
> ように思います.
>
> なにが正解かわからないですが,activateManager() のなかでcatchしてもさらにthrowする
> か(汚いですね?),return false を返すようにするか,なっているとよいかと思いましたが,
> 現状のコードになにか理由があれば教えて下さい.
>
> バージョンは1.0.0 をつかっているので,もしかしたら,新しいバージョンでは修正されている
> かもしれませんが,いろいろデバッグしていて,ここでエラーがキャッチできていれば,,,と
> 思ったので連絡をさせていただきました.もちろん.logにはちゃんとエラーがでていて
> 大変たすかりました.
>
>
>
>
>
>

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK