False may actually not directly be an error. Best is to just return an array() on false if no error is thrown. Just throw an exception if there was actually an error.