title: C# Error Code vs. Exception
body: <p>I have a control circuit that I communicate with via serial port. If the response command doesn't match a certain format I consider it to be an error and was wondering if I should return an error code or throw an exception? For example:</p>
  
  <pre><code>public double GetSensorValue(int sensorNumber)
  {
     ...
     string circuitCommand = "GSV,01," + sensorNumber.ToString();   // Get measurement command for specified sensor.
     string responseCommand;
     string expectedResponseCommand = "GSV,01,1,OK";
     string errorResponseCommand = "ER,GSV,01,1,62";
  
     responseCommand = SendReceive(circuitCommand); // Send command to circuit and get response.
  
     if(responseCommand != expectedResponseCommand) // Some type of error...
     {
        if(responseCommand == errorResponseCommand) // The circuit reported an error...
        {
           ...  // How should I handle this? Return an error code (e.g. -99999) or thrown an exception?
        }
        else   // Some unknown error occurred...
        {
           ... // Same question as above "if".
        }
      }
      else  // Everything is OK, proceed as normal.
         ...
  }
  </code></pre>
  
  <p>Thanks!</p>