。在对五百万行Java代码进行数据流分析时，我们发现了超过1300个异常处理。这是1999-2004年的前沿报告以及他们的结论，Weimer 和 Necula写到，异常是一个十分严峻的问题，他们会创造隐藏的控制流途径，这种途径是编程人员很难去推理的。Go语言的初始版本并没有异常处理，而因此被有的开发者认为控制流十分冗余。后来，追加了类似的异常处理的语法/机制，但是Go语言的作者建立这仅仅在整个程序不可恢复的错误时候使用它。异常，作为一个非结构化的流程，它会增加资源泄露的可能性（如：从锁住的代码中逃脱