Some may argue for throw .. catch and exception handling as a way for error handling, but my point of view is :
for functions which have equal chance of failure as success, exception handling is not the way to go
throw catch exception should not be used as a replacement to the regular error handling. In the below presentation Bjarne describes rules for using error-codes and exceptions he is following:
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.