What's a good substitute for an enum?
<p>I'm writing a web service that returns different types of errors.<br>
Each method can return one of the three basic types of errors:<br>
<code>General</code>, <code>InvalidInput</code>, or <code>Non</code>.<br>
In addition to those three possible values, each method can have it's own errors (e.g. for SignIn method - InvalidPassword) - but each method can return only one error.<br>
So for example the SignIn method will be able to return one of the following error types: General, InvalidInput, Non, InvalidPassword.<br>
At first I thought of using enums, but I now think that the error types should implement inheritance because there are the basic three types, and each new method's error types inherit from that.. But I can't really think how. I thought of using a static class - but then it will only have one string static field - and inheritance is irrelevant again...<br>
Another problem with enums is that what the web service's client will get eventually is a meaningless int (through json)</p>

<p>So my question is: What is a good way of conveying the idea that there are three basic possible values, and you can add to those to make a new type of errors?</p>
