C# käsittelee virheitä poikkeuksilla (exception), jotka otetaan kiinni try/catch/-rakenteella. Oikea poikkeuksien käsittely tarkoittaa spesifisten poikkeustyyppien kiinniotantoa, resurssien vapauttamista (usein -lauseella), mielekkäiden mukautettujen poikkeuksien luomista ja virheistä ei vaieteta.
