I was just reading some answers to this question about slow exceptions. I completely agree with the idea that exceptions can and should used instead of return codes despite of each being considerably slower (although not necessarily noticeable).
I have implemented a circuit breaker in a service that connects to an 3rd party that is called several times on every page request. In the case of a failure, this means that many exceptions are going to be thrown (and logs will be filled as well).
Would this ever be a problem?
The way I see it, the circuit breaker is fine the one it is. Someone else (not here) suggested to implement the circuit breaker without raising exceptions as not to log a lot of stuff. That doesn't seem right to me and I haven't been able to think of a nice way of doing that generically as I need the circuit breaker to be used in more than one service (currently 2 - the methods being intercepted by Unity).
The only change I decided to do to my application was to cache the result of the method that calls the 3rd parties. There is no down-side as far as I could see because the data is not changed frequently and we can afford it to be stale.