LOL Microsoft: Exceptions
http://msdn.microsoft.com/en-us/library/5b2yeyab.aspx
Exceptions vs. Traditional Error-Handling Methods
(...)Exceptions offer several advantages over other methods of error notification, such as return codes. Failures do not go unnoticed. Invalid values do not continue to propagate through the system. You do not have to check return codes. Exception-handling code can be easily added to increase program reliability. Finally, the runtime's exception handling is faster than Windows-based C++ error handling.
http://msdn.microsoft.com/en-us/library/system.exception.aspx
Performance Considerations
(...)In addition, do not throw an exception when a return code is sufficient; do not convert a return code to an exception; and do not routinely catch an exception, ignore it, then continue processing.
Exceptions vs. Traditional Error-Handling Methods
(...)Exceptions offer several advantages over other methods of error notification, such as return codes. Failures do not go unnoticed. Invalid values do not continue to propagate through the system. You do not have to check return codes. Exception-handling code can be easily added to increase program reliability. Finally, the runtime's exception handling is faster than Windows-based C++ error handling.
http://msdn.microsoft.com/en-us/library/system.exception.aspx
Performance Considerations
(...)In addition, do not throw an exception when a return code is sufficient; do not convert a return code to an exception; and do not routinely catch an exception, ignore it, then continue processing.