C++完全可以不用管例外,没有任何语法强制你必须处理例外,你也可以使用传统的方式,例如返回特殊值(如-1,nullptr等)或设置错误标志的方式来写容错性好的程序。当返回特殊值给到信号错误时,可以使用[[nodiscard]]属性强制调用者对返回值进行处理。
然而,例外提供了更丰富的错误处理机制,客户化例外使你可以按照自己的需要进行跟踪的机制。举个例子,对于网站的客户化例外就可以是一个网页,这个网页包含了错误信息,错误发生时的网络状态,其他的上下文信息。
后面我们会详细学习这部分内容,本文只是告诉大家,在优雅编程时,可以使用客户化例外。