在没有异常处理机制的语言中,如果出现了非预期的结果并立即中断执行,而且又想知道具体的错误信息,只能通过包装处理结果来达到目的,但是这个就会要求外部程序要不断通过函数的返回值确定执行结果是否成功或者失败。其实这也是长久以来的关于到底是要用包装返回还是异常抛出的讨论,我是明确支持使用异常机制来处理,但是在一个项目团队中,如果已经有了相关的协作规范就还是按照规范来会更好一些。在存在异常处理机制的编程语言中,可以通过抛出指定的异常完成,外部程序可以通过捕获异常来完成处理,如果调用函数的外部代码无法处理则无需捕获应该继续往上抛出,直到找到能处理该异常的逻辑或者做异常兜底处理