எதிர்பாராத உள்ளீடு, வளங்கள் கிடைக்காமை (எ.கா தரவுத்தளம், கோப்பு), தவறனா கணிப்பு (எ.கா 0 ஆல் பிரிக்க முனைதல்), தொடரமைப்புப் பிழை (syntax error), ஏரணப் பிழை (logical error) என்று பல காரணிகளால் ஒரு நிரல் எதிர்பார்காத முறையில் செயற்படலாம் அல்லது முற்றிலும் செயலிழந்து போகலாம்.  நிரலாளர் நிரல் கூற்றில் எழக்கூடிய இத்தகையை பிழைகளைக் இயன்றவரை எதிர்பார்த்து, அதற்கு தக்க முறையில் நிரல் எழுதல் வேண்டும்.  அதற்கு உதவும் வகையில் பெரும்பாலான மொழிகள் பிழை கையாழும் கூறுகளை(error handling constructs) கொண்டிருக்கின்றன.  அவற்றில் முக்கியமான ஒன்றே விதிவிலக்கை கையாளுதல் (exception handling) ஆகும்..பொதுவாக ஒரு நிரலில் தவறாக நிகழும் எல்லாவற்றையும் விதிவிலக்காகக் கொள்வதில்லை.  நிரலில் வழமையான தொழிற்பாட்டில் தவறான ஆனால் எதிர்பார்க்கக் கூடிய நிலைகளை நாம் விதிவிலக்குகள் இல்லாமல் கையாழ வேண்டும்.  எ.கா ஒருவர் புதுபதிகை செய்யும் போது தவறான பெயரை அல்லது கடவுச்சொல்லைப் பயன்படுத்தினால் அதை நாம் விதிவிலக்காக் கொள்ள முடியாது.  இதை நாம் எதிர்பார்த்துக் கையாழ வேண்டும்.  .விதிவிலக்கு என்பது சாதாரண நிரல் தொழிற்பாட்டில் எதிர்பார்க்காத ஒன்று.  வழமையான இயக்கத்தில் இருந்து விதிவிலக்காக நிகழ்வு.  விதிவிலைக்கை கையாளுத்தல் என்பது வழமையான இயக்கத்தில் இருந்து ஒரு விதிவிலக்கான நிகழ்வு இடம்பெறும் பொழுது அதை கையாளும் முறை பற்றிய ஒரு நிரலாக்க கட்டு (construct) ஆகும்.  பெரும்பாலான மொழிகள் try (முயற்சி), catch (பிடி), throw (எறி), finally (இறுதியாக) ஆகிய சிறப்புச் சொற்களை (keywords) விதிவிலக்குக் கையாழுதலுக்குப் பயன்படுத்துகின்றன..ஒரு செயலி இயக்கப்படும்(try) போது அந்தச் செயலியில் விதிவிலக்கு ஒன்று நிகழ்ந்தால் அச் செயலி விதிவிலக்கு பொருள் ஒன்றை உருவாக்கி எறியும்(throw).  அந்த விதிவிலக்குப் பொருளை இயங்குநேர ஒருங்கியம்(runtime system) இந்த விதிவிலக்கைக் கையாழக் கூடிய விதிவிலக்கு கையாளு நிரல் (exception handler - catch) ஒன்றைக் கண்டுபிடிக்க முனையும்.  இவ்வாறு கண்டுபிடிக்க முடியாவிட்டால் இயங்குநேரம் நின்றுவிடும்..விதிவிலக்கை கையாளுதலின் பயன்கள் . ஒவ்வொரு செயலியில் இருந்தும் பிழைத் தகவல்களை திருப்பியனுப்பி, அவற்றைச் சோதித்துப் பார்க்கும் நிரல் கூறுகளைத் தவிர்க்கலாம்.  இந்த நிரல் கூறுகள், நிரலின் வழமையான செயற்பாட்டை மறைத்து, நிரலை வாசிக்க, பராமரிக்க சிரமமாக்கும்.