İki sayının toplamını yapan bir program yapacağız. Bu kod çok basit gelebilir. Ama yazdığımız bu kodda bile hata oluşması mümkün.
İstisna oluştuğunda programı kırıp sonlandırmak yerine, kullanıcıyı istisnanın ne olduğu konusunda anlamlı iletiler ile bilginedirmek gerekir. Aşağıdaki kod küçük ama işlevsel bir istisna mekanizmasını göstermektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
static void Main(string[] args) { try { Console.Write("İlk Sayıyı Giriniz :"); int s1 = Convert.ToInt32(Console.ReadLine()); Console.Write("İkinci Sayıyı Giriniz :"); int s2 = Convert.ToInt32(Console.ReadLine()); int Total = s1 + s2; Console.WriteLine("Total = {0}", Total); } catch (FormatException) { Console.WriteLine("Geçersiz Giriş! Lütfen Sayı Giriniz."); } catch (OverflowException) { Console.WriteLine("Sadece {0} ile {1} arasında sayı giriniz", Int32.MinValue, Int32.MaxValue); } catch (Exception) { Console.WriteLine("Bilinmeyen bir hata! Hatayı Bildirin"); } Console.ReadKey(); } |
Kod kullanıcı çalıştırmak istediği sürece çalışmasını devam ettirmesi gerekir. Kullanıcı dur diyene kadar program çalışmaya ve kullanıcıya sonuç üretmeye devam etmelidir. Bu işlemi yapmak için sonuz döngü yapısını kullanmak mantıklı olacaktır.(daha farklı yollar ile yapmak da mümkün)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
static void Main(string[] args) { while (true) { try { Console.Write("İlk Sayıyı Giriniz :"); int s1 = Convert.ToInt32(Console.ReadLine()); Console.Write("İkinci Sayıyı Giriniz :"); int s2 = Convert.ToInt32(Console.ReadLine()); int Total = s1 + s2; Console.WriteLine("Total = {0}", Total); } catch (FormatException) { Console.WriteLine("Geçersiz Giriş! Lütfen Sayı Giriniz."); } catch (OverflowException) { Console.WriteLine("Sadece {0} ile {1} arasında sayı giriniz", Int32.MinValue, Int32.MaxValue); } catch (Exception) { Console.WriteLine("Bilinmeyen bir hata! Hatayı Bildirin"); } Console.WriteLine("Program Devam Etsin Mi? (E)"); string kontrol = Console.ReadLine(); if (!(kontrol == "E" || kontrol == "e")) break; } } |