本文整理汇总了C++中Cantera::CanteraError方法的典型用法代码示例。如果您正苦于以下问题:C++ Cantera::CanteraError方法的具体用法?C++ Cantera::CanteraError怎么用?C++ Cantera::CanteraError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cantera
的用法示例。
在下文中一共展示了Cantera::CanteraError方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ctml_getfloatarray_
status_t ctml_getfloatarray_(const integer* i, const integer* n,
doublereal* data, const integer* iconvert)
{
try {
XML_Node& node = *_xml(i);
Cantera::vector_fp v;
bool conv = false;
if (*iconvert > 0) {
conv = true;
}
getFloatArray(node, v, conv);
int nv = v.size();
// array not big enough
if (*n < nv) {
throw CanteraError("ctml_getfloatarray",
"array must be dimensioned at least "+Cantera::int2str(nv));
}
for (int i = 0; i < nv; i++) {
data[i] = v[i];
}
} catch (...) {
return handleAllExceptions(-1, ERR);
}
return 0;
}
示例2: fxml_findid_
status_t DLL_EXPORT fxml_findid_(const integer* i, const char* id, ftnlen idlen) {
try {
XML_Node& node = *_xml(i);
XML_Node* c = node.findID(f2string(id, idlen));
if (c) {
return Cabinet<XML_Node>::cabinet()->add(c);
}
else
throw CanteraError("fxml_find_id","id not found: "+f2string(id, idlen));
}
catch (CanteraError) { handleError(); }
return 0;
}
示例3: fxml_findbyname_
status_t DLL_EXPORT fxml_findbyname_(const integer* i, const char* nm, ftnlen nmlen) {
try {
XML_Node& node = *_xml(i);
XML_Node* c = node.findByName(f2string(nm, nmlen));
if (c) {
return Cabinet<XML_Node>::cabinet()->add(c);
}
else
throw CanteraError("fxml_findByName","name "+f2string(nm, nmlen)
+" not found");
}
catch (CanteraError) { handleError(); }
return 0;
}
示例4: fxml_findid_
status_t fxml_findid_(const integer* i, const char* id, ftnlen idlen)
{
try {
XML_Node& node = *_xml(i);
XML_Node* c = node.findID(f2string(id, idlen));
if (c) {
return XmlCabinet::add(c);
} else {
throw CanteraError("fxml_find_id","id not found: "+f2string(id, idlen));
}
} catch (...) {
return handleAllExceptions(-1, ERR);
}
return 0;
}
示例5: fxml_findbyname_
status_t fxml_findbyname_(const integer* i, const char* nm, ftnlen nmlen)
{
try {
XML_Node& node = *_xml(i);
XML_Node* c = node.findByName(f2string(nm, nmlen));
if (c) {
return XmlCabinet::add(c);
} else {
throw CanteraError("fxml_findByName","name "+f2string(nm, nmlen)
+" not found");
}
} catch (...) {
return handleAllExceptions(-1, ERR);
}
return 0;
}
示例6: fxml_attrib_
status_t DLL_EXPORT fxml_attrib_(const integer* i, const char* key,
char* value, ftnlen keylen, ftnlen valuelen) {
try {
std::string ky = f2string(key, keylen);
XML_Node& node = *_xml(i);
if (node.hasAttrib(ky)) {
std::string v = node[ky];
strncpy(value, v.c_str(), valuelen);
}
else
throw CanteraError("fxml_attrib","node "
" has no attribute '"+ky+"'");
}
catch (CanteraError) { handleError(); }
return 0;
}
示例7: fxml_write_
status_t DLL_EXPORT fxml_write_(const integer* i, const char* file, ftnlen filelen) {
try {
std::string ff(file, filelen);
ofstream f(ff.c_str());
if (f) {
XML_Node& node = *_xml(i);
node.write(f);
}
else {
throw CanteraError("fxml_write",
"file "+f2string(file, filelen)+" not found.");
}
return 0;
}
catch (CanteraError) { handleError(); }
return 0;
}
示例8: fxml_attrib_
status_t fxml_attrib_(const integer* i, const char* key, char* value,
ftnlen keylen, ftnlen valuelen)
{
try {
std::string ky = f2string(key, keylen);
XML_Node& node = *_xml(i);
if (node.hasAttrib(ky)) {
std::string v = node[ky];
strncpy(value, v.c_str(), valuelen);
} else {
throw CanteraError("fxml_attrib","node "
" has no attribute '"+ky+"'");
}
} catch (...) {
return handleAllExceptions(-1, ERR);
}
return 0;
}
示例9: fxml_write_
status_t fxml_write_(const integer* i, const char* file, ftnlen filelen)
{
try {
std::string ff(file, filelen);
ofstream f(ff.c_str());
if (f) {
XML_Node& node = *_xml(i);
node.write(f);
} else {
throw CanteraError("fxml_write",
"file "+f2string(file, filelen)+" not found.");
}
return 0;
} catch (...) {
return handleAllExceptions(-1, ERR);
}
return 0;
}