Best practice for return value if 3+ possible outcomes?
<p>This is sort of a novice question, but I guess I just really don't understand what the best practice would be.</p>

<p>Basically, I have a method called "emailScan", which scans to see if an email already exists in a database. This could result in three possible outcomes:</p>

<ul>
<li>Email does not exist</li>
<li>Email exists and is associated to a person</li>
<li>Email exists and is registered to a person</li>
</ul>

<p>The question is, what should this method return? My thoughts:</p>

<ul>
<li>It wouldn't return a boolean, obviously.</li>
<li>It wouldn't throw a checked exception, as none of these are exceptional conditions.</li>
<li>It could just return the raw Email object, and let the calling method make the determination of whether it is associated or registered.</li>
<li>It could return an Enum which represents the three outcomes </li>
</ul>

<p>Any thoughts?</p>
