ایجاد نمودن یک کنترل کننده
استثنا
یک
کنترل کننده استثنا کدی است که استثنا یا استثنائات خاصی را که درون بلوک کد محافظت
شده روی می دهند کنترل می نماید.
برای ایجاد یک کنترل کننده استثنا، شما نیاز
دارید تا کدی را که می خواهید محافظت نمایید درون یک بلوک کنترل استثنا قرار داده و
عباراتی را که باعث کنترل استثنا خواهند شد درون قسمت except بلوک مربوطه قرار
دهید:
Try
{عباراتی که میخواهید محافظت شوند}
Except
{عبارات کنترل
کننده استثنا}
؛End
برنامه عبارت درون قسمت except را فقط در صورتی اجرا می کند که در زمان اجرای
عبارت درون قسمت try، استثنا رخ داده باشد. اجرای عبارات درون قسمت try شامل روتین
هایی است که توسط کدهای درون قسمت try فراخوانی می شوند، لذا اگر کد درون قسمت try
روتینی را فراخوانی کند که آن روتین فاقد کنترل کننده استثنای خاص خودش باشد و
استثنا نیز رخبدهد، آن استثنا به بلوک کنترل کننده استثنای فعلی بازگردانده می شود
تا اسثتثنای مورد نظر را کنترل شود.
زمانی که یکی از عبارات درون قسمت try باعث
برپایی یک استثنا شود، بلافاصله اجرا به قسمت except پرش خواهد کرد و عبارات مربوط
به کنترل استثنا یا اسثنائات را به ترتیب تا زمانی اجرا می کند که به کنترل کننده
استثنا خاصی برسد که استثنا رخ داده شده را کنترل خواهد نمود.
در صورتی که کنترل
کننده استثنای رخ داده شده توسط برنامه مشخص شود، عبارات مربوط به آن کنترل کننده
استثنا اجرا خواهند شد و سپس برنامه به صورت خودکار اقدام به تخریب شیء مربوط به
استثنا می نماید. اجرای برنامه از انتهای بلوک فعلی از سر گرفته می شود.