在null指针arg上,最好是崩溃还是抛出异常?

paz*_*paz 3 c++ error-handling exception-handling

可能重复:
通过断言或异常的合同测试设计?

处理作为函数的输出参数传入的空指针的首选方法是什么?我可以ASSERT,但我觉得让图书馆崩溃程序并不好.相反,我在考虑使用异常.

Chr*_*per 11

抛出异常!这就是他们的目的.然后,您的库的用户可以决定他们是想要优雅地处理它还是崩溃和刻录.

另一个特定的解决方案是返回有效类型的无效值,例如返回索引的方法的负整数,但您只能在特定情况下使用它.