Skip to content

错误处理与异常

错误处理

Zedio采用std::expected来包装可出错调用的返回值和错误。我认为这是一种优雅且严谨的处理方式。

异常

Zedio提供的所有函数都是不会抛出异常的,但是用户写的代码可能会抛出异常,Zedio根据编译时的模式选择不同的处理方式

  • DEBUG:不管异常产生在何处,程序都会调用std::terminate()中断。
  • RELEASE:如果异常并非是由主协程产生的,那么ZEDIO仅仅只是向std::cerr输出异常的内容。(TODO:在未来,Zedio会打印调用栈)