当前位置: 首页>>代码示例>>C++>>正文


C++ Cantera::CanteraError方法代码示例

本文整理汇总了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;
    }
开发者ID:hgossler,项目名称:cantera,代码行数:27,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hkmoffat,项目名称:cantera,代码行数:13,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hkmoffat,项目名称:cantera,代码行数:14,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hgossler,项目名称:cantera,代码行数:15,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hgossler,项目名称:cantera,代码行数:16,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hkmoffat,项目名称:cantera,代码行数:16,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hkmoffat,项目名称:cantera,代码行数:17,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hgossler,项目名称:cantera,代码行数:18,代码来源:fctxml.cpp

示例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;
 }
开发者ID:hgossler,项目名称:cantera,代码行数:18,代码来源:fctxml.cpp


注:本文中的Cantera::CanteraError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。