In the documentation, the way you check if a model data was saved is by checking the boolean returned by the save() method like so:
if (!$album->save()) {
One would think that save() would catch any exceptions and return it as messages but sometimes an exception will not be caught, like this one for instance:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
So my question is: when should I expect save() to return a boolean and messages and when should I expect it to throw an exception?
Thanks,