我不想讨论何时抛出异常而不抛出异常.我想解决一个简单的问题.99%的时间不抛出异常的论点围绕着它们缓慢而另一方声称(基准测试)速度不是问题.我读过很多关于一方或另一方的博客,文章和帖子.那是哪个呢?
我一直看到有人说异常很慢,但我从来没有看到任何证据.因此,我不会询问它们是否存在,而是会询问异常是如何在场景背后起作用的,因此我可以决定何时使用它们以及它们是否很慢.
据我所知,异常与做一堆返回是一回事,但它也会检查何时需要停止返回.它如何检查何时停止?我正在猜测并说有一个第二个堆栈,其中包含异常类型和堆栈位置然后返回直到它到达那里.我也猜测堆栈触摸的唯一时间是抛出和每次尝试/捕获.使用返回代码实现类似行为的AFAICT将花费相同的时间.但这都是猜测,所以我想知道.
例外如何真正起作用?