2024年4月28日发(作者:)

POCO C++库学习和分析 -- 异常、错误处理、调试

1. 异常处理

C++同C语言相比,提供了异常机制。通过使用try,catch关键字可以捕获异常,这种机制使得程序

员在程序异常发生时,可以通过判断异常类型,来决定程序是否继续执行,并在程序结束之前优雅的释放各

类资源。当然对于C++的异常机制也存在着很多的争议。在这里,并不对此展开讨论,只介绍一下Poco中

的异常类。

Poco中的异常类:

1. 所有的异常类都是Poco::Exception的子类。

2. Poco::Exception继承自std::exception类。

3. Foundation库中涉及的异常类,包括了下面一些:

a) Poco::LogicException类负责处理程序错误,包括了:

AssertionViolationException

NullPointerException

NullValueException

BugcheckException

InvalidArgumentException

NotImplementedException

RangeException

IllegalStateException

InvalidAccessException

SignalException

UnhandledException

类负责处理应用程序相关的错误,即使用Poco库的用户

类负责处理程序运行时的错误,包括了:

RuntimeException

NotFoundException

ExistsException

TimeoutException

SystemException

RegularExpressionException

b) Poco::ApplicationException

自定义异常。

c) Poco::RuntimeException