Why? 3. Separation of concerns
functions should return their expected results
not error details
exceptions allow separation of return values from error handling