、基本语法

C++ 异常处理核心由三个关键字组成:trythrowcatch

一个简单的示例:

展开

代码语言:C++

自动换行

AI代码解释


#include <stdexcept> #include <limits> #include <iostream> using namespace std; void MyFunc(int c) { if (c > numeric_limits<char>::max()) throw invalid_argument("Argument too large"); // ... } int main() { try { MyFunc(256); // 触发异常 } catch (const invalid_argument& e) { cerr << "Caught: " << e.what() << endl; return -1; } // ... return 0; }

  • throw:抛出异常对象,可是内置类型(intdouble)或自定义类型。

  • catch:按类型匹配并捕获异常,推荐“按 const& 捕获”。

  • 若找不到匹配的 catch,程序调用 std::terminate() 并终止。

try在块中,如果引发异常,则它将被其类型与异常匹配的第一个关联catch块捕获。 换言之,执行从 throw 语句跳转到 catch 语句。 如果未找到可用的 catch 块, std::terminate 则将调用并退出程序。 在 c + + 中,可能会引发任何类型,但是,建议引发直接或间接从 std::exception 派生的类型。 在上面的示例中,异常类型 invalid_argument 在标头文件的标准库<stdexcept>中定义。

语法比较简单:throw(抛出)一个数据,然后再用catch(捕获)接收。throw的数据类型可以是任意的,所以当然也可以是一个对象

示例:抛出并捕获自定义对象

展开

代码语言:C++

自动换行

AI代码解释


struct Test { const char* msg; int code; double val; Test(const char* s, int i, double d): msg(s), code(i), val(d) {} void print() const { printf("%s %d %.2f\n", msg, code, val); } }; int main() { try { throw Test("LLF", 520, 13.14); } catch (const Test& e) { e.print(); } }


二、异常处理的基本指导原则

强大的错误处理对于任何编程语言都很有挑战性。 尽管异常提供了多个支持良好错误处理的功能,但它们无法完成所有工作。 若要实现异常机制的优点,请在设计代码时记住异常。

  1. 断言与异常并用

    • 断言(assert)用于“绝不应发生”的逻辑错误。

    • 异常用于“可能发生”的运行时错误(如传参检验、I/O 失败)。

  2. 错误检测与处理应解耦

    • 当处理错误的代码与通过一个或多个干预函数调用检测到错误的代码分离时,使用异常;

    • 当处理错误的代码与检测到错误的代码紧密耦合时,考虑是否使用错误代码而不是在性能关键循环中。

  3. 对于可能引发或传播异常的每个函数,请提供以下三种异常保证之一:

    • No-throw(失败保证):函数决不抛出异常,常用 noexcept 标注。

    • 强保证:要么成功,要么状态回滚。

    • 基本保证:抛出后对象处于可析构状态,没有资源泄漏。参见 如何设计异常安全性

  4. 抛出按值,捕获按引用; 不要捕获无法处理的内容。

    throw MyException("oops"); // 按值 catch (const MyException& e) { // 按 const& ... }

  5. 避免使用已弃用的动态异常规范。C++11 起,推荐使用 noexcept,抛出声明(throw(Type))已弃用。

  6. 不要在析构函数中抛出异常。析构时异常会导致 std::terminate(),可使用 noexcept(true) 明确标记(不允许对析构函数或内存释放函数进行转义)。

  7. 应用时使用标准库异常类型。 从 exception 类层次结构派生自定义异常类型。


三、exception 与自定义异常

对上面代码的分析,可以看到,发生异常时抛出一个对象而不是一个简单的数据类型,可以传递更多的错误信息,但是这样的话,需要针对不同的异常情况定义不同的类。有没有统一的解决方法?

C++ 标准库提供了根基类 std::exception,定义了虚函数 what() 返回错误描述:

展开

代码语言:C++

自动换行

AI代码解释


/** * @brief Base class for all library exceptions. * * This is the base class for all exceptions thrown by the standard * library, and by certain language expressions. You are free to derive * your own %exception classes, or use a different hierarchy, or to * throw non-class data (e.g., fundamental types). */ class exception { public: exception() noexcept { } virtual ~exception() noexcept; exception(const exception&) = default; exception& operator=(const exception&) = default; exception(exception&&) = default; exception& operator=(exception&&) = default; /** Returns a C-style character string describing the general cause * of the current error. */ virtual const char* what() const noexcept; };

主要就是定义了一个what的虚函数,返回C_style的字符串,主要作用就是描述发生一场的原因。在使用的时候,往往需要自定义一个异常类,从 std::exception 继承,为你的场景提供更具体的信息:

展开

代码语言:C++

自动换行

AI代码解释


#include <exception> #include <iostream> using namespace std; class DivideByZero : public exception { public: const char* what() const noexcept override { return "ERROR: Division by zero."; } }; void check(int y) noexcept(false) { if (y == 0) throw DivideByZero(); } int main() { int x = 100, y = 0; try { check(y); cout << x / y; } catch (const DivideByZero& e) { cout << e.what() << "\n"; return -1; } cout << "OK\n"; return 0; }


四、标准异常层次结构

C++定义了一些标准的异常,用于各种场景,他们都是继承自std::exception

下表是对上面层次结构中出现的每个异常的说明:

异常类型

描述

std::exception

所有标准异常基类

std::bad_alloc

内存分配失败(new 抛出)

std::bad_cast

动态类型转换失败(dynamic_cast 抛出)

std::bad_typeid

typeid 失败

std::logic_error

逻辑错误(可在编译时发现)

├─ std::domain_error

数学域无效

├─ std::invalid_argument

参数无效

├─ std::length_error

容器长度超限

└─ std::out_of_range

越界访问

std::runtime_error

运行时错误(无法编译时检测)

├─ std::overflow_error

算术溢出

├─ std::underflow_error

算术下溢

└─ std::range_error

存储超出范围


五、std::exception_ptr 与异常传递

根据官方文档的介绍 std::exception_ptr是一个指向 exception object 的共享智能指针。关键在于理解 “exception object” 是什么,是std::exception类的对象吗?这种理解是不准的,按我的理解,所谓“exception object” 应该是被throw抛出的对象,根据我们上面的学习,它既可以是int、double等简单的数据类型、也可以是自定义的类对象,当然也可以是std::exception类对象。

pbv.xxzpgcn.cn/999131.Doc
pbv.xxzpgcn.cn/959371.Doc
pbv.xxzpgcn.cn/628861.Doc
pbv.xxzpgcn.cn/177551.Doc
pbv.xxzpgcn.cn/31.Doc
pbv.xxzpgcn.cn/002841.Doc
pbv.xxzpgcn.cn/393711.Doc
pbv.xxzpgcn.cn/622221.Doc
pbv.xxzpgcn.cn/153311.Doc
pbv.xxzpgcn.cn/979791.Doc
pbb.xxzpgcn.cn/426441.Doc
pbb.xxzpgcn.cn/555991.Doc
pbb.xxzpgcn.cn/337951.Doc
pbb.xxzpgcn.cn/840221.Doc
pbb.xxzpgcn.cn/351171.Doc
pbb.xxzpgcn.cn/999171.Doc
pbb.xxzpgcn.cn/591311.Doc
pbb.xxzpgcn.cn/260021.Doc
pbb.xxzpgcn.cn/468001.Doc
pbb.xxzpgcn.cn/804261.Doc
pbn.xxzpgcn.cn/197751.Doc
pbn.xxzpgcn.cn/480861.Doc
pbn.xxzpgcn.cn/577371.Doc
pbn.xxzpgcn.cn/195131.Doc
pbn.xxzpgcn.cn/591331.Doc
pbn.xxzpgcn.cn/460241.Doc
pbn.xxzpgcn.cn/795151.Doc
pbn.xxzpgcn.cn/333931.Doc
pbn.xxzpgcn.cn/119571.Doc
pbn.xxzpgcn.cn/197191.Doc
pbm.xxzpgcn.cn/113311.Doc
pbm.xxzpgcn.cn/957131.Doc
pbm.xxzpgcn.cn/959371.Doc
pbm.xxzpgcn.cn/731711.Doc
pbm.xxzpgcn.cn/799931.Doc
pbm.xxzpgcn.cn/115991.Doc
pbm.xxzpgcn.cn/204441.Doc
pbm.xxzpgcn.cn/860801.Doc
pbm.xxzpgcn.cn/193331.Doc
pbm.xxzpgcn.cn/355711.Doc
pnq.xxzpgcn.cn/919951.Doc
pnq.xxzpgcn.cn/913971.Doc
pnq.xxzpgcn.cn/517731.Doc
pnq.xxzpgcn.cn/771131.Doc
pnq.xxzpgcn.cn/686401.Doc
pnq.xxzpgcn.cn/733191.Doc
pnq.xxzpgcn.cn/191731.Doc
pnq.xxzpgcn.cn/179131.Doc
pnq.xxzpgcn.cn/133551.Doc
pnq.xxzpgcn.cn/333791.Doc
pnw.xxzpgcn.cn/991711.Doc
pnw.xxzpgcn.cn/375571.Doc
pnw.xxzpgcn.cn/359711.Doc
pnw.xxzpgcn.cn/333531.Doc
pnw.xxzpgcn.cn/551551.Doc
pnw.xxzpgcn.cn/997131.Doc
pnw.xxzpgcn.cn/975111.Doc
pnw.xxzpgcn.cn/159571.Doc
pnw.xxzpgcn.cn/555131.Doc
pnw.xxzpgcn.cn/913191.Doc
pne.xxzpgcn.cn/848441.Doc
pne.xxzpgcn.cn/406881.Doc
pne.xxzpgcn.cn/826641.Doc
pne.xxzpgcn.cn/537311.Doc
pne.xxzpgcn.cn/428461.Doc
pne.xxzpgcn.cn/131971.Doc
pne.xxzpgcn.cn/517511.Doc
pne.xxzpgcn.cn/179191.Doc
pne.xxzpgcn.cn/951731.Doc
pne.xxzpgcn.cn/846041.Doc
pnr.xxzpgcn.cn/020481.Doc
pnr.xxzpgcn.cn/119971.Doc
pnr.xxzpgcn.cn/795511.Doc
pnr.xxzpgcn.cn/151551.Doc
pnr.xxzpgcn.cn/755371.Doc
pnr.xxzpgcn.cn/977351.Doc
pnr.xxzpgcn.cn/935151.Doc
pnr.xxzpgcn.cn/337711.Doc
pnr.xxzpgcn.cn/317371.Doc
pnr.xxzpgcn.cn/991731.Doc
pnt.xxzpgcn.cn/519331.Doc
pnt.xxzpgcn.cn/357511.Doc
pnt.xxzpgcn.cn/535711.Doc
pnt.xxzpgcn.cn/791911.Doc
pnt.xxzpgcn.cn/208401.Doc
pnt.xxzpgcn.cn/193971.Doc
pnt.xxzpgcn.cn/593771.Doc
pnt.xxzpgcn.cn/422841.Doc
pnt.xxzpgcn.cn/359511.Doc
pnt.xxzpgcn.cn/517371.Doc
pny.xxzpgcn.cn/915591.Doc
pny.xxzpgcn.cn/311791.Doc
pny.xxzpgcn.cn/197351.Doc
pny.xxzpgcn.cn/119351.Doc
pny.xxzpgcn.cn/917171.Doc
pny.xxzpgcn.cn/171151.Doc
pny.xxzpgcn.cn/535171.Doc
pny.xxzpgcn.cn/597911.Doc
pny.xxzpgcn.cn/953931.Doc
pny.xxzpgcn.cn/593991.Doc
pnu.xxzpgcn.cn/579311.Doc
pnu.xxzpgcn.cn/915971.Doc
pnu.xxzpgcn.cn/595511.Doc
pnu.xxzpgcn.cn/711931.Doc
pnu.xxzpgcn.cn/371131.Doc
pnu.xxzpgcn.cn/975571.Doc
pnu.xxzpgcn.cn/393591.Doc
pnu.xxzpgcn.cn/997351.Doc
pnu.xxzpgcn.cn/731331.Doc
pnu.xxzpgcn.cn/319111.Doc
pni.xxzpgcn.cn/591991.Doc
pni.xxzpgcn.cn/919931.Doc
pni.xxzpgcn.cn/555551.Doc
pni.xxzpgcn.cn/977351.Doc
pni.xxzpgcn.cn/391991.Doc
pni.xxzpgcn.cn/666861.Doc
pni.xxzpgcn.cn/606021.Doc
pni.xxzpgcn.cn/171151.Doc
pni.xxzpgcn.cn/317951.Doc
pni.xxzpgcn.cn/620641.Doc
pno.xxzpgcn.cn/315371.Doc
pno.xxzpgcn.cn/195771.Doc
pno.xxzpgcn.cn/911171.Doc
pno.xxzpgcn.cn/919991.Doc
pno.xxzpgcn.cn/511991.Doc
pno.xxzpgcn.cn/353931.Doc
pno.xxzpgcn.cn/795711.Doc
pno.xxzpgcn.cn/151951.Doc
pno.xxzpgcn.cn/575751.Doc
pno.xxzpgcn.cn/791571.Doc
pnp.xxzpgcn.cn/971351.Doc
pnp.xxzpgcn.cn/939331.Doc
pnp.xxzpgcn.cn/997751.Doc
pnp.xxzpgcn.cn/177591.Doc
pnp.xxzpgcn.cn/793531.Doc
pnp.xxzpgcn.cn/739311.Doc
pnp.xxzpgcn.cn/373131.Doc
pnp.xxzpgcn.cn/195571.Doc
pnp.xxzpgcn.cn/551371.Doc
pnp.xxzpgcn.cn/139531.Doc
pna.xxzpgcn.cn/117311.Doc
pna.xxzpgcn.cn/315131.Doc
pna.xxzpgcn.cn/933991.Doc
pna.xxzpgcn.cn/591991.Doc
pna.xxzpgcn.cn/026481.Doc
pna.xxzpgcn.cn/391791.Doc
pna.xxzpgcn.cn/684421.Doc
pna.xxzpgcn.cn/313951.Doc
pna.xxzpgcn.cn/313991.Doc
pna.xxzpgcn.cn/486881.Doc
pns.xxzpgcn.cn/848001.Doc
pns.xxzpgcn.cn/624081.Doc
pns.xxzpgcn.cn/680441.Doc
pns.xxzpgcn.cn/793711.Doc
pns.xxzpgcn.cn/402061.Doc
pns.xxzpgcn.cn/779971.Doc
pns.xxzpgcn.cn/442441.Doc
pns.xxzpgcn.cn/311571.Doc
pns.xxzpgcn.cn/202801.Doc
pns.xxzpgcn.cn/333971.Doc
pnd.xxzpgcn.cn/171311.Doc
pnd.xxzpgcn.cn/975311.Doc
pnd.xxzpgcn.cn/826641.Doc
pnd.xxzpgcn.cn/084841.Doc
pnd.xxzpgcn.cn/408081.Doc
pnd.xxzpgcn.cn/373171.Doc
pnd.xxzpgcn.cn/533391.Doc
pnd.xxzpgcn.cn/151711.Doc
pnd.xxzpgcn.cn/171171.Doc
pnd.xxzpgcn.cn/242601.Doc
pnf.xxzpgcn.cn/113771.Doc
pnf.xxzpgcn.cn/577751.Doc
pnf.xxzpgcn.cn/377151.Doc
pnf.xxzpgcn.cn/359191.Doc
pnf.xxzpgcn.cn/117931.Doc
pnf.xxzpgcn.cn/151311.Doc
pnf.xxzpgcn.cn/531351.Doc
pnf.xxzpgcn.cn/599111.Doc
pnf.xxzpgcn.cn/175731.Doc
pnf.xxzpgcn.cn/197711.Doc
png.xxzpgcn.cn/395331.Doc
png.xxzpgcn.cn/935351.Doc
png.xxzpgcn.cn/399511.Doc
png.xxzpgcn.cn/135911.Doc
png.xxzpgcn.cn/179551.Doc
png.xxzpgcn.cn/971771.Doc
png.xxzpgcn.cn/377311.Doc
png.xxzpgcn.cn/997311.Doc
png.xxzpgcn.cn/395971.Doc
png.xxzpgcn.cn/575191.Doc
pnh.xxzpgcn.cn/535331.Doc
pnh.xxzpgcn.cn/559311.Doc
pnh.xxzpgcn.cn/775731.Doc
pnh.xxzpgcn.cn/957971.Doc
pnh.xxzpgcn.cn/793511.Doc
pnh.xxzpgcn.cn/977131.Doc
pnh.xxzpgcn.cn/400001.Doc
pnh.xxzpgcn.cn/686081.Doc
pnh.xxzpgcn.cn/791751.Doc
pnh.xxzpgcn.cn/793971.Doc
pnj.xxzpgcn.cn/604401.Doc
pnj.xxzpgcn.cn/915791.Doc
pnj.xxzpgcn.cn/846041.Doc
pnj.xxzpgcn.cn/482001.Doc
pnj.xxzpgcn.cn/420461.Doc
pnj.xxzpgcn.cn/646481.Doc
pnj.xxzpgcn.cn/957951.Doc
pnj.xxzpgcn.cn/268221.Doc
pnj.xxzpgcn.cn/282641.Doc
pnj.xxzpgcn.cn/959351.Doc
pnk.xxzpgcn.cn/993391.Doc
pnk.xxzpgcn.cn/593511.Doc
pnk.xxzpgcn.cn/559711.Doc
pnk.xxzpgcn.cn/317931.Doc
pnk.xxzpgcn.cn/955371.Doc
pnk.xxzpgcn.cn/171171.Doc
pnk.xxzpgcn.cn/575551.Doc
pnk.xxzpgcn.cn/575391.Doc
pnk.xxzpgcn.cn/793791.Doc
pnk.xxzpgcn.cn/571571.Doc
pnl.xxzpgcn.cn/157371.Doc
pnl.xxzpgcn.cn/959751.Doc
pnl.xxzpgcn.cn/088841.Doc
pnl.xxzpgcn.cn/777751.Doc
pnl.xxzpgcn.cn/377751.Doc
pnl.xxzpgcn.cn/313931.Doc
pnl.xxzpgcn.cn/979331.Doc
pnl.xxzpgcn.cn/115371.Doc
pnl.xxzpgcn.cn/040261.Doc
pnl.xxzpgcn.cn/579331.Doc
pnz.xxzpgcn.cn/171511.Doc
pnz.xxzpgcn.cn/044241.Doc
pnz.xxzpgcn.cn/482281.Doc
pnz.xxzpgcn.cn/171711.Doc
pnz.xxzpgcn.cn/935331.Doc
pnz.xxzpgcn.cn/133931.Doc
pnz.xxzpgcn.cn/717911.Doc
pnz.xxzpgcn.cn/579171.Doc
pnz.xxzpgcn.cn/977391.Doc
pnz.xxzpgcn.cn/975171.Doc
pnx.xxzpgcn.cn/939931.Doc
pnx.xxzpgcn.cn/995791.Doc
pnx.xxzpgcn.cn/731971.Doc
pnx.xxzpgcn.cn/737171.Doc
pnx.xxzpgcn.cn/555711.Doc
pnx.xxzpgcn.cn/311391.Doc
pnx.xxzpgcn.cn/975931.Doc
pnx.xxzpgcn.cn/113951.Doc
pnx.xxzpgcn.cn/131771.Doc
pnx.xxzpgcn.cn/751511.Doc
pnc.xxzpgcn.cn/464661.Doc
pnc.xxzpgcn.cn/931711.Doc
pnc.xxzpgcn.cn/715911.Doc
pnc.xxzpgcn.cn/113711.Doc
pnc.xxzpgcn.cn/719951.Doc
pnc.xxzpgcn.cn/682041.Doc
pnc.xxzpgcn.cn/755371.Doc
pnc.xxzpgcn.cn/680881.Doc
pnc.xxzpgcn.cn/993551.Doc
pnc.xxzpgcn.cn/719591.Doc
pnv.xxzpgcn.cn/115591.Doc
pnv.xxzpgcn.cn/971731.Doc
pnv.xxzpgcn.cn/171711.Doc
pnv.xxzpgcn.cn/193371.Doc
pnv.xxzpgcn.cn/204801.Doc
pnv.xxzpgcn.cn/771731.Doc
pnv.xxzpgcn.cn/315191.Doc
pnv.xxzpgcn.cn/680221.Doc
pnv.xxzpgcn.cn/688461.Doc
pnv.xxzpgcn.cn/080661.Doc
pnb.xxzpgcn.cn/808621.Doc
pnb.xxzpgcn.cn/959731.Doc
pnb.xxzpgcn.cn/133551.Doc
pnb.xxzpgcn.cn/993511.Doc
pnb.xxzpgcn.cn/751711.Doc
pnb.xxzpgcn.cn/733971.Doc
pnb.xxzpgcn.cn/957111.Doc
pnb.xxzpgcn.cn/424821.Doc
pnb.xxzpgcn.cn/359751.Doc
pnb.xxzpgcn.cn/688881.Doc
pnn.xxzpgcn.cn/553131.Doc
pnn.xxzpgcn.cn/533511.Doc
pnn.xxzpgcn.cn/933531.Doc
pnn.xxzpgcn.cn/775391.Doc
pnn.xxzpgcn.cn/175971.Doc
pnn.xxzpgcn.cn/133151.Doc
pnn.xxzpgcn.cn/371391.Doc
pnn.xxzpgcn.cn/937111.Doc
pnn.xxzpgcn.cn/597551.Doc
pnn.xxzpgcn.cn/393551.Doc
pnm.xxzpgcn.cn/006441.Doc
pnm.xxzpgcn.cn/759351.Doc
pnm.xxzpgcn.cn/808281.Doc
pnm.xxzpgcn.cn/195131.Doc
pnm.xxzpgcn.cn/739311.Doc
pnm.xxzpgcn.cn/979931.Doc
pnm.xxzpgcn.cn/424221.Doc
pnm.xxzpgcn.cn/977551.Doc
pnm.xxzpgcn.cn/137511.Doc
pnm.xxzpgcn.cn/826861.Doc
pmq.xxzpgcn.cn/937771.Doc
pmq.xxzpgcn.cn/608801.Doc
pmq.xxzpgcn.cn/797731.Doc
pmq.xxzpgcn.cn/135711.Doc
pmq.xxzpgcn.cn/397951.Doc
pmq.xxzpgcn.cn/517591.Doc
pmq.xxzpgcn.cn/155931.Doc
pmq.xxzpgcn.cn/393711.Doc
pmq.xxzpgcn.cn/117171.Doc
pmq.xxzpgcn.cn/519771.Doc
pmw.xxzpgcn.cn/357311.Doc
pmw.xxzpgcn.cn/777731.Doc
pmw.xxzpgcn.cn/959571.Doc
pmw.xxzpgcn.cn/371311.Doc
pmw.xxzpgcn.cn/711531.Doc
pmw.xxzpgcn.cn/739771.Doc
pmw.xxzpgcn.cn/157591.Doc
pmw.xxzpgcn.cn/442081.Doc
pmw.xxzpgcn.cn/444421.Doc
pmw.xxzpgcn.cn/931131.Doc
pme.xxzpgcn.cn/397551.Doc
pme.xxzpgcn.cn/719551.Doc
pme.xxzpgcn.cn/993791.Doc
pme.xxzpgcn.cn/577751.Doc
pme.xxzpgcn.cn/826661.Doc
pme.xxzpgcn.cn/551751.Doc
pme.xxzpgcn.cn/351511.Doc
pme.xxzpgcn.cn/515191.Doc
pme.xxzpgcn.cn/353331.Doc
pme.xxzpgcn.cn/357571.Doc
pmr.xxzpgcn.cn/355371.Doc
pmr.xxzpgcn.cn/557991.Doc
pmr.xxzpgcn.cn/551951.Doc
pmr.xxzpgcn.cn/139351.Doc
pmr.xxzpgcn.cn/082041.Doc
pmr.xxzpgcn.cn/757951.Doc
pmr.xxzpgcn.cn/640621.Doc
pmr.xxzpgcn.cn/773711.Doc
pmr.xxzpgcn.cn/593731.Doc
pmr.xxzpgcn.cn/337111.Doc
pmt.xxzpgcn.cn/937591.Doc
pmt.xxzpgcn.cn/717371.Doc
pmt.xxzpgcn.cn/248481.Doc
pmt.xxzpgcn.cn/573751.Doc
pmt.xxzpgcn.cn/975351.Doc
pmt.xxzpgcn.cn/515131.Doc
pmt.xxzpgcn.cn/931151.Doc
pmt.xxzpgcn.cn/559951.Doc
pmt.xxzpgcn.cn/791331.Doc
pmt.xxzpgcn.cn/717971.Doc
pmy.xxzpgcn.cn/846281.Doc
pmy.xxzpgcn.cn/571371.Doc
pmy.xxzpgcn.cn/797531.Doc
pmy.xxzpgcn.cn/579531.Doc
pmy.xxzpgcn.cn/135351.Doc
pmy.xxzpgcn.cn/151351.Doc
pmy.xxzpgcn.cn/999191.Doc
pmy.xxzpgcn.cn/177391.Doc
pmy.xxzpgcn.cn/917511.Doc
pmy.xxzpgcn.cn/173151.Doc
pmu.xxzpgcn.cn/953351.Doc
pmu.xxzpgcn.cn/137971.Doc
pmu.xxzpgcn.cn/155951.Doc
pmu.xxzpgcn.cn/359391.Doc
pmu.xxzpgcn.cn/597511.Doc
pmu.xxzpgcn.cn/313351.Doc
pmu.xxzpgcn.cn/377771.Doc
pmu.xxzpgcn.cn/719551.Doc
pmu.xxzpgcn.cn/317571.Doc
pmu.xxzpgcn.cn/173131.Doc
pmi.xxzpgcn.cn/335511.Doc
pmi.xxzpgcn.cn/373911.Doc
pmi.xxzpgcn.cn/759351.Doc
pmi.xxzpgcn.cn/397731.Doc
pmi.xxzpgcn.cn/537131.Doc
pmi.xxzpgcn.cn/688401.Doc
pmi.xxzpgcn.cn/177571.Doc
pmi.xxzpgcn.cn/206681.Doc
pmi.xxzpgcn.cn/731131.Doc
pmi.xxzpgcn.cn/739731.Doc
pmo.xxzpgcn.cn/468081.Doc
pmo.xxzpgcn.cn/153731.Doc
pmo.xxzpgcn.cn/757331.Doc
pmo.xxzpgcn.cn/375711.Doc
pmo.xxzpgcn.cn/139971.Doc
pmo.xxzpgcn.cn/339771.Doc
pmo.xxzpgcn.cn/539171.Doc
pmo.xxzpgcn.cn/975991.Doc
pmo.xxzpgcn.cn/117571.Doc
pmo.xxzpgcn.cn/797911.Doc
pmp.xxzpgcn.cn/757391.Doc
pmp.xxzpgcn.cn/993951.Doc
pmp.xxzpgcn.cn/860641.Doc
pmp.xxzpgcn.cn/113751.Doc
pmp.xxzpgcn.cn/357391.Doc
pmp.xxzpgcn.cn/337771.Doc
pmp.xxzpgcn.cn/759331.Doc
pmp.xxzpgcn.cn/151171.Doc
pmp.xxzpgcn.cn/559791.Doc
pmp.xxzpgcn.cn/719351.Doc
pma.xxzpgcn.cn/953311.Doc
pma.xxzpgcn.cn/759971.Doc
pma.xxzpgcn.cn/575191.Doc
pma.xxzpgcn.cn/355551.Doc
pma.xxzpgcn.cn/139711.Doc
pma.xxzpgcn.cn/373531.Doc
pma.xxzpgcn.cn/193191.Doc
pma.xxzpgcn.cn/777171.Doc
pma.xxzpgcn.cn/759531.Doc
pma.xxzpgcn.cn/991771.Doc
pms.xxzpgcn.cn/719591.Doc
pms.xxzpgcn.cn/591991.Doc
pms.xxzpgcn.cn/531931.Doc
pms.xxzpgcn.cn/139571.Doc
pms.xxzpgcn.cn/515151.Doc
pms.xxzpgcn.cn/711771.Doc
pms.xxzpgcn.cn/739531.Doc
pms.xxzpgcn.cn/775931.Doc
pms.xxzpgcn.cn/531911.Doc
pms.xxzpgcn.cn/933151.Doc
pmd.xxzpgcn.cn/575311.Doc
pmd.xxzpgcn.cn/599371.Doc
pmd.xxzpgcn.cn/175991.Doc
pmd.xxzpgcn.cn/111591.Doc
pmd.xxzpgcn.cn/551371.Doc
pmd.xxzpgcn.cn/999351.Doc
pmd.xxzpgcn.cn/791731.Doc
pmd.xxzpgcn.cn/557191.Doc
pmd.xxzpgcn.cn/139311.Doc
pmd.xxzpgcn.cn/868401.Doc
pmf.xxzpgcn.cn/919131.Doc
pmf.xxzpgcn.cn/757771.Doc
pmf.xxzpgcn.cn/173791.Doc
pmf.xxzpgcn.cn/737711.Doc
pmf.xxzpgcn.cn/717151.Doc
pmf.xxzpgcn.cn/397951.Doc
pmf.xxzpgcn.cn/799531.Doc
pmf.xxzpgcn.cn/717751.Doc
pmf.xxzpgcn.cn/517311.Doc
pmf.xxzpgcn.cn/755371.Doc
pmg.xxzpgcn.cn/084621.Doc
pmg.xxzpgcn.cn/319531.Doc
pmg.xxzpgcn.cn/955931.Doc
pmg.xxzpgcn.cn/137571.Doc
pmg.xxzpgcn.cn/331531.Doc
pmg.xxzpgcn.cn/715571.Doc
pmg.xxzpgcn.cn/159951.Doc
pmg.xxzpgcn.cn/933331.Doc
pmg.xxzpgcn.cn/595111.Doc
pmg.xxzpgcn.cn/157571.Doc
pmh.xxzpgcn.cn/133771.Doc
pmh.xxzpgcn.cn/517971.Doc
pmh.xxzpgcn.cn/991351.Doc
pmh.xxzpgcn.cn/953531.Doc
pmh.xxzpgcn.cn/395711.Doc
pmh.xxzpgcn.cn/159911.Doc
pmh.xxzpgcn.cn/319191.Doc
pmh.xxzpgcn.cn/711991.Doc
pmh.xxzpgcn.cn/577771.Doc
pmh.xxzpgcn.cn/537931.Doc
pmj.xxzpgcn.cn/933371.Doc
pmj.xxzpgcn.cn/931911.Doc
pmj.xxzpgcn.cn/155711.Doc
pmj.xxzpgcn.cn/337371.Doc
pmj.xxzpgcn.cn/799151.Doc
pmj.xxzpgcn.cn/731571.Doc
pmj.xxzpgcn.cn/597731.Doc
pmj.xxzpgcn.cn/319771.Doc
pmj.xxzpgcn.cn/519351.Doc
pmj.xxzpgcn.cn/195751.Doc
pmk.xxzpgcn.cn/531991.Doc
pmk.xxzpgcn.cn/573751.Doc
pmk.xxzpgcn.cn/377111.Doc
pmk.xxzpgcn.cn/913711.Doc
pmk.xxzpgcn.cn/933731.Doc
pmk.xxzpgcn.cn/440601.Doc
pmk.xxzpgcn.cn/379311.Doc
pmk.xxzpgcn.cn/319351.Doc
pmk.xxzpgcn.cn/993991.Doc
pmk.xxzpgcn.cn/773911.Doc
pml.xxzpgcn.cn/113791.Doc
pml.xxzpgcn.cn/971751.Doc
pml.xxzpgcn.cn/997531.Doc
pml.xxzpgcn.cn/480641.Doc
pml.xxzpgcn.cn/913551.Doc
pml.xxzpgcn.cn/795371.Doc
pml.xxzpgcn.cn/799751.Doc
pml.xxzpgcn.cn/577511.Doc
pml.xxzpgcn.cn/779931.Doc
pml.xxzpgcn.cn/511171.Doc
pmz.xxzpgcn.cn/591151.Doc
pmz.xxzpgcn.cn/997171.Doc
pmz.xxzpgcn.cn/551951.Doc
pmz.xxzpgcn.cn/531371.Doc
pmz.xxzpgcn.cn/997771.Doc
pmz.xxzpgcn.cn/515571.Doc
pmz.xxzpgcn.cn/842021.Doc
pmz.xxzpgcn.cn/197191.Doc
pmz.xxzpgcn.cn/913711.Doc
pmz.xxzpgcn.cn/371511.Doc
pmx.xxzpgcn.cn/311531.Doc
pmx.xxzpgcn.cn/755351.Doc
pmx.xxzpgcn.cn/335131.Doc
pmx.xxzpgcn.cn/979151.Doc
pmx.xxzpgcn.cn/797171.Doc
pmx.xxzpgcn.cn/91.Doc
pmx.xxzpgcn.cn/135591.Doc
pmx.xxzpgcn.cn/593331.Doc
pmx.xxzpgcn.cn/711751.Doc
pmx.xxzpgcn.cn/111731.Doc
pmc.xxzpgcn.cn/115591.Doc
pmc.xxzpgcn.cn/642401.Doc
pmc.xxzpgcn.cn/973131.Doc
pmc.xxzpgcn.cn/377171.Doc
pmc.xxzpgcn.cn/795731.Doc
pmc.xxzpgcn.cn/973511.Doc
pmc.xxzpgcn.cn/713511.Doc
pmc.xxzpgcn.cn/713331.Doc
pmc.xxzpgcn.cn/513111.Doc
pmc.xxzpgcn.cn/771951.Doc
pmv.xxzpgcn.cn/171791.Doc
pmv.xxzpgcn.cn/595951.Doc
pmv.xxzpgcn.cn/602081.Doc
pmv.xxzpgcn.cn/599311.Doc
pmv.xxzpgcn.cn/797151.Doc
pmv.xxzpgcn.cn/735571.Doc
pmv.xxzpgcn.cn/917371.Doc
pmv.xxzpgcn.cn/935351.Doc
pmv.xxzpgcn.cn/399391.Doc
pmv.xxzpgcn.cn/951911.Doc
pmb.xxzpgcn.cn/993911.Doc
pmb.xxzpgcn.cn/951351.Doc
pmb.xxzpgcn.cn/319531.Doc
pmb.xxzpgcn.cn/157511.Doc
pmb.xxzpgcn.cn/826281.Doc
pmb.xxzpgcn.cn/177711.Doc
pmb.xxzpgcn.cn/480461.Doc
pmb.xxzpgcn.cn/519311.Doc
pmb.xxzpgcn.cn/777551.Doc
pmb.xxzpgcn.cn/593911.Doc
pmn.xxzpgcn.cn/551171.Doc
pmn.xxzpgcn.cn/159571.Doc
pmn.xxzpgcn.cn/159771.Doc
pmn.xxzpgcn.cn/735391.Doc
pmn.xxzpgcn.cn/753391.Doc
pmn.xxzpgcn.cn/571191.Doc
pmn.xxzpgcn.cn/333171.Doc
pmn.xxzpgcn.cn/195931.Doc
pmn.xxzpgcn.cn/319151.Doc
pmn.xxzpgcn.cn/971911.Doc
pmm.xxzpgcn.cn/355371.Doc
pmm.xxzpgcn.cn/799731.Doc
pmm.xxzpgcn.cn/111791.Doc
pmm.xxzpgcn.cn/775971.Doc
pmm.xxzpgcn.cn/608081.Doc
pmm.xxzpgcn.cn/371331.Doc
pmm.xxzpgcn.cn/759191.Doc
pmm.xxzpgcn.cn/779731.Doc
pmm.xxzpgcn.cn/595791.Doc
pmm.xxzpgcn.cn/971711.Doc
aqq.xxzpgcn.cn/137911.Doc
aqq.xxzpgcn.cn/133531.Doc
aqq.xxzpgcn.cn/995351.Doc
aqq.xxzpgcn.cn/177791.Doc
aqq.xxzpgcn.cn/597951.Doc
aqq.xxzpgcn.cn/593731.Doc
aqq.xxzpgcn.cn/717931.Doc
aqq.xxzpgcn.cn/735151.Doc
aqq.xxzpgcn.cn/195311.Doc
aqq.xxzpgcn.cn/919731.Doc
aqw.xxzpgcn.cn/971391.Doc
aqw.xxzpgcn.cn/993931.Doc
aqw.xxzpgcn.cn/335551.Doc
aqw.xxzpgcn.cn/595931.Doc
aqw.xxzpgcn.cn/191951.Doc
aqw.xxzpgcn.cn/575371.Doc
aqw.xxzpgcn.cn/731531.Doc
aqw.xxzpgcn.cn/359911.Doc
aqw.xxzpgcn.cn/319171.Doc
aqw.xxzpgcn.cn/971111.Doc
aqe.xxzpgcn.cn/191971.Doc
aqe.xxzpgcn.cn/373371.Doc
aqe.xxzpgcn.cn/846601.Doc
aqe.xxzpgcn.cn/511711.Doc
aqe.xxzpgcn.cn/826081.Doc
aqe.xxzpgcn.cn/795551.Doc
aqe.xxzpgcn.cn/759371.Doc
aqe.xxzpgcn.cn/951511.Doc
aqe.xxzpgcn.cn/404081.Doc
aqe.xxzpgcn.cn/404421.Doc
aqr.xxzpgcn.cn/282621.Doc
aqr.xxzpgcn.cn/739131.Doc
aqr.xxzpgcn.cn/791511.Doc
aqr.xxzpgcn.cn/155951.Doc
aqr.xxzpgcn.cn/620681.Doc
aqr.xxzpgcn.cn/933951.Doc
aqr.xxzpgcn.cn/406801.Doc
aqr.xxzpgcn.cn/733131.Doc
aqr.xxzpgcn.cn/280861.Doc
aqr.xxzpgcn.cn/317971.Doc
aqt.xxzpgcn.cn/137351.Doc
aqt.xxzpgcn.cn/288401.Doc
aqt.xxzpgcn.cn/264201.Doc
aqt.xxzpgcn.cn/484601.Doc
aqt.xxzpgcn.cn/244681.Doc
aqt.xxzpgcn.cn/557571.Doc
aqt.xxzpgcn.cn/913131.Doc
aqt.xxzpgcn.cn/995551.Doc
aqt.xxzpgcn.cn/593711.Doc
aqt.xxzpgcn.cn/622801.Doc
aqy.xxzpgcn.cn/680801.Doc
aqy.xxzpgcn.cn/640401.Doc
aqy.xxzpgcn.cn/973191.Doc
aqy.xxzpgcn.cn/626881.Doc
aqy.xxzpgcn.cn/040861.Doc
aqy.xxzpgcn.cn/460201.Doc
aqy.xxzpgcn.cn/373791.Doc
aqy.xxzpgcn.cn/620261.Doc
aqy.xxzpgcn.cn/048661.Doc
aqy.xxzpgcn.cn/359511.Doc
aqu.xxzpgcn.cn/777331.Doc
aqu.xxzpgcn.cn/957731.Doc
aqu.xxzpgcn.cn/022641.Doc
aqu.xxzpgcn.cn/159511.Doc
aqu.xxzpgcn.cn/882081.Doc
aqu.xxzpgcn.cn/080041.Doc
aqu.xxzpgcn.cn/511311.Doc
aqu.xxzpgcn.cn/937591.Doc
aqu.xxzpgcn.cn/828861.Doc
aqu.xxzpgcn.cn/282441.Doc
aqi.xxzpgcn.cn/355151.Doc
aqi.xxzpgcn.cn/062221.Doc
aqi.xxzpgcn.cn/462601.Doc
aqi.xxzpgcn.cn/686621.Doc
aqi.xxzpgcn.cn/933931.Doc
aqi.xxzpgcn.cn/971951.Doc
aqi.xxzpgcn.cn/713571.Doc
aqi.xxzpgcn.cn/800841.Doc
aqi.xxzpgcn.cn/715751.Doc
aqi.xxzpgcn.cn/248281.Doc
aqo.xxzpgcn.cn/935391.Doc
aqo.xxzpgcn.cn/535751.Doc
aqo.xxzpgcn.cn/606201.Doc
aqo.xxzpgcn.cn/153311.Doc
aqo.xxzpgcn.cn/226881.Doc
aqo.xxzpgcn.cn/975591.Doc
aqo.xxzpgcn.cn/975751.Doc
aqo.xxzpgcn.cn/824661.Doc
aqo.xxzpgcn.cn/911551.Doc
aqo.xxzpgcn.cn/311511.Doc
aqp.xxzpgcn.cn/355391.Doc
aqp.xxzpgcn.cn/519551.Doc
aqp.xxzpgcn.cn/088601.Doc
aqp.xxzpgcn.cn/339751.Doc
aqp.xxzpgcn.cn/880681.Doc
aqp.xxzpgcn.cn/115731.Doc
aqp.xxzpgcn.cn/060441.Doc
aqp.xxzpgcn.cn/597371.Doc
aqp.xxzpgcn.cn/420481.Doc
aqp.xxzpgcn.cn/284281.Doc
aqa.xxzpgcn.cn/931711.Doc
aqa.xxzpgcn.cn/931551.Doc
aqa.xxzpgcn.cn/735931.Doc
aqa.xxzpgcn.cn/971391.Doc
aqa.xxzpgcn.cn/537371.Doc
aqa.xxzpgcn.cn/939771.Doc
aqa.xxzpgcn.cn/799191.Doc
aqa.xxzpgcn.cn/395971.Doc
aqa.xxzpgcn.cn/913971.Doc
aqa.xxzpgcn.cn/795151.Doc
aqs.xxzpgcn.cn/733351.Doc
aqs.xxzpgcn.cn/979971.Doc
aqs.xxzpgcn.cn/733331.Doc
aqs.xxzpgcn.cn/593571.Doc
aqs.xxzpgcn.cn/579131.Doc
aqs.xxzpgcn.cn/131551.Doc
aqs.xxzpgcn.cn/117791.Doc
aqs.xxzpgcn.cn/373731.Doc
aqs.xxzpgcn.cn/553551.Doc
aqs.xxzpgcn.cn/935191.Doc
aqd.xxzpgcn.cn/557911.Doc
aqd.xxzpgcn.cn/357391.Doc
aqd.xxzpgcn.cn/242861.Doc
aqd.xxzpgcn.cn/595391.Doc
aqd.xxzpgcn.cn/666441.Doc
aqd.xxzpgcn.cn/064421.Doc
aqd.xxzpgcn.cn/800621.Doc
aqd.xxzpgcn.cn/135711.Doc
aqd.xxzpgcn.cn/197711.Doc
aqd.xxzpgcn.cn/737391.Doc
aqf.xxzpgcn.cn/462881.Doc
aqf.xxzpgcn.cn/886001.Doc
aqf.xxzpgcn.cn/200841.Doc
aqf.xxzpgcn.cn/591311.Doc
aqf.xxzpgcn.cn/539991.Doc
aqf.xxzpgcn.cn/195371.Doc
aqf.xxzpgcn.cn/640001.Doc
aqf.xxzpgcn.cn/397131.Doc
aqf.xxzpgcn.cn/395171.Doc
aqf.xxzpgcn.cn/971751.Doc
aqg.xxzpgcn.cn/193771.Doc
aqg.xxzpgcn.cn/191771.Doc
aqg.xxzpgcn.cn/311571.Doc
aqg.xxzpgcn.cn/577771.Doc
aqg.xxzpgcn.cn/373151.Doc
aqg.xxzpgcn.cn/133311.Doc
aqg.xxzpgcn.cn/157751.Doc
aqg.xxzpgcn.cn/737731.Doc
aqg.xxzpgcn.cn/999551.Doc
aqg.xxzpgcn.cn/593551.Doc
aqh.xxzpgcn.cn/317711.Doc
aqh.xxzpgcn.cn/195391.Doc
aqh.xxzpgcn.cn/517911.Doc
aqh.xxzpgcn.cn/751791.Doc
aqh.xxzpgcn.cn/539371.Doc
aqh.xxzpgcn.cn/735791.Doc
aqh.xxzpgcn.cn/555971.Doc
aqh.xxzpgcn.cn/133971.Doc
aqh.xxzpgcn.cn/513711.Doc
aqh.xxzpgcn.cn/911551.Doc
aqj.xxzpgcn.cn/973931.Doc
aqj.xxzpgcn.cn/395111.Doc
aqj.xxzpgcn.cn/797931.Doc
aqj.xxzpgcn.cn/135391.Doc
aqj.xxzpgcn.cn/511751.Doc
aqj.xxzpgcn.cn/951931.Doc
aqj.xxzpgcn.cn/393991.Doc
aqj.xxzpgcn.cn/131971.Doc
aqj.xxzpgcn.cn/795351.Doc
aqj.xxzpgcn.cn/515551.Doc
aqk.xxzpgcn.cn/519771.Doc
aqk.xxzpgcn.cn/559551.Doc
aqk.xxzpgcn.cn/379951.Doc
aqk.xxzpgcn.cn/595931.Doc
aqk.xxzpgcn.cn/335911.Doc
aqk.xxzpgcn.cn/937711.Doc
aqk.xxzpgcn.cn/913711.Doc
aqk.xxzpgcn.cn/395111.Doc
aqk.xxzpgcn.cn/133371.Doc
aqk.xxzpgcn.cn/159951.Doc
aql.xxzpgcn.cn/248061.Doc
aql.xxzpgcn.cn/755511.Doc
aql.xxzpgcn.cn/591171.Doc
aql.xxzpgcn.cn/517771.Doc
aql.xxzpgcn.cn/751391.Doc
aql.xxzpgcn.cn/177571.Doc
aql.xxzpgcn.cn/591951.Doc
aql.xxzpgcn.cn/775771.Doc
aql.xxzpgcn.cn/773391.Doc
aql.xxzpgcn.cn/531351.Doc
aqz.xxzpgcn.cn/715391.Doc
aqz.xxzpgcn.cn/939371.Doc
aqz.xxzpgcn.cn/955751.Doc
aqz.xxzpgcn.cn/088861.Doc
aqz.xxzpgcn.cn/595911.Doc
aqz.xxzpgcn.cn/173951.Doc
aqz.xxzpgcn.cn/115591.Doc
aqz.xxzpgcn.cn/991951.Doc
aqz.xxzpgcn.cn/591991.Doc
aqz.xxzpgcn.cn/537331.Doc
aqx.xxzpgcn.cn/175771.Doc
aqx.xxzpgcn.cn/820861.Doc
aqx.xxzpgcn.cn/159591.Doc
aqx.xxzpgcn.cn/537571.Doc
aqx.xxzpgcn.cn/395111.Doc
aqx.xxzpgcn.cn/313511.Doc
aqx.xxzpgcn.cn/117591.Doc
aqx.xxzpgcn.cn/597311.Doc
aqx.xxzpgcn.cn/135591.Doc
aqx.xxzpgcn.cn/139171.Doc
aqc.xxzpgcn.cn/777591.Doc
aqc.xxzpgcn.cn/951511.Doc
aqc.xxzpgcn.cn/519131.Doc
aqc.xxzpgcn.cn/317951.Doc
aqc.xxzpgcn.cn/351551.Doc
aqc.xxzpgcn.cn/753171.Doc
aqc.xxzpgcn.cn/175511.Doc
aqc.xxzpgcn.cn/208841.Doc
aqc.xxzpgcn.cn/997771.Doc
aqc.xxzpgcn.cn/713511.Doc
aqv.xxzpgcn.cn/197371.Doc
aqv.xxzpgcn.cn/844801.Doc
aqv.xxzpgcn.cn/591951.Doc
aqv.xxzpgcn.cn/193931.Doc
aqv.xxzpgcn.cn/191191.Doc
aqv.xxzpgcn.cn/246641.Doc
aqv.xxzpgcn.cn/539391.Doc
aqv.xxzpgcn.cn/955551.Doc
aqv.xxzpgcn.cn/399971.Doc
aqv.xxzpgcn.cn/997311.Doc
 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐