title: Yii2: Why do validation errors not throw exceptions?
body: <p>I'm not sure if this is limited to Yii2 or if it could be also discussed with other frameworks or even in general.</p>
  
  <p>In Yii2 I can call <a href="http://www.yiiframework.com/doc-2.0/yii-base-model.html#validate%28%29-detail" rel="nofollow noreferrer">validate()</a> on a model object. This will return true or false. If it is false I can call <a href="http://www.yiiframework.com/doc-2.0/yii-base-model.html#getErrors%28%29-detail" rel="nofollow noreferrer">getErrors()</a> to see which validation problems currently exist within this object.</p>
  
  <p>Why is this behavior implemented this way? Why does validate() not throw some ValidationExceptions? I find it also somehow strange that errors are part of the model object. Why are they not part of such an exception?</p>
  
  <p>What are the advantages of this implementation? Why is it done this way? I would prefer exceptions. With this, I could better distinguish between desired and exceptional processing. All that is not desired is handled in catch blocks. The desired happens in try blocks. Isn't this a good idea?</p>