زمانی که یک وضعیت خطا رخ می دهد، برنامه یک خطا را بر پا می
کند به این مفهوم که یک شیء از نوع استثنا به وجود می آورد. زمانی که یک استثنا بر
پا می شود، برنامه شما می تواند یک کد تصفیه کننده را اجرا نماید، استثنا را کنترل
نماید و یا هر دو عمل را انجام دهد.
اجرا نمودن یک کد تصفیه کننده: ساده ترین
راه برای پاسخ دادن به یک استثنا این است که مطمئن باشید کد تصفیه کننده ای اجرا
شده است. این نوع پاسخ، وضعیتی را که باعث بروز خطا شدهاست تصحیح نمی کند اما شما
مطمئن خواهید بود که برنامه شما در یک وضعیت ناخواسته محیط خود را ترک نخواهد کرد.
شما معمولا از این نوع پاسخ برای مطمئن شدن از اینکه برنامه منابع در اختیار گرفته
را آزاد خواهد نمود، استفاده می کنید و توجهی به محل خطا نیز نخواهید
داشت.
کنترل نمودن یک استثنا: کنترل نمودن یک استثنا، دادن پاسخ خاصی به نوع
استثنا خاصی می باشد. کنترل نمودن استثنا وضعیت خطا را از بین خواهد برد و باعث
تخریب شیء استثنا خواهد شد و به برنامه اجازه خواهد داد تا اجرای خود را ادامه دهد.
شما معمولا از کنترل برای پوشش دادن خطاها و اجازه دادن به برنامه برای ادامه اجرا،
استفاده می نمایید. انواع استثنائاتی را که ممکن است شما کنترل نمایید شامل سعی
نمودن برای باز نمودن فایلی که وجود ندارد، نوشتن به دیسکی که پر است یا محاسباتی
که از حد قانون تجاوز می کنند، خواهد بود. بعضی از استثنائات مثل File not Found
بسیار ساده تصحیح خواهند شد اما تصحیح استثنائاتی مثل کم آوردن حافظه ممکن است برای
برنامه ها و کاربران مشکل باشد.