En üst düzey geliştiricilerin bile zaman zaman hatalı kod yazabildiğini biliyoruz.
Bir programın çalışması esnasında normalde karşılaşılmaması gereken bir durum oluşursa, sektörde buna olağan dışı durum (exception) ve bu durumda ne yapılacağının belirlenmesine de olağan dışı durum yönetimi (exception handling) denir.
Bir bölme işleminde paydanın 0 olması, beklenmeyen ya da olağan dışı bir durumdur. Aynı şekilde bir dosyaya erişim yapmak isteyen bir komutun o dosyayı bulamaması da olağan dışı bir durumdur.
C++ diline kadar, olağan dışı durumların tespiti ve yönetimi yazılımcıların özel olarak geliştirdikleri kod parçalarıyla yapılabiliyordu. C++ dilinden itibaren olağan dışı durum yönetimi, dilin içine eklenen özel komut, sınıf ve metotlarla yapılabiliyor. Java ile birlikte, Microsoft Visual Studio.Net’in üç temel dili olan Visual Basic.net, C#.net ve C++.net’te olağan dışı durum yönetimi, try / catch / finally yapısı ve ilgili sınıf ve metotlarla gerçekleştirilebiliyor.