return AUL_R_ECOMM;
}
- auto error_info = std::make_unique<ErrorInfo>(seq_num,
- tizen_base::Bundle(b, true, true), cmd, error_cb, user_data);
- if (error_info.get() == nullptr) {
- _E("Failed to create error info");
- if (reply_cb != nullptr)
- __reply_list.Pop(seq_num);
- return AUL_R_ERROR;
- }
+ try {
+ auto error_info = std::make_unique<ErrorInfo>(seq_num,
+ tizen_base::Bundle(b, true, true), cmd, error_cb, user_data);
+ if (error_info->AddWatch(fd) < 0) {
+ _E("Failed to add resultcb watch");
+ if (reply_cb != nullptr)
+ __reply_list.Pop(seq_num);
+ close(fd);
+ return AUL_R_ERROR;
+ }
- if (error_info->AddWatch(fd) < 0) {
- _E("Failed to add resultcb watch");
- if (reply_cb != nullptr)
- __reply_list.Pop(seq_num);
- close(fd);
+ error_info.release();
+ } catch (const std::bad_alloc& e) {
+ _E("Exception occurs. error=%s", e.what());
return AUL_R_ERROR;
}
- error_info.release();
return AUL_R_OK;
}