8 Kasım 2013 Cuma

Yazılımda hata mesajlarının önemi ve delirtmeyin ulen yazılımcıyı konusu =)

Geçen gün .net .net dolaşırken şöyle bir hata aldım;

Message: The underlying provider failed on Open...
Çok basit bir test'in bu hata yüzünden 30dk'yı geçtiğini söylemek ve bunun için tekrar üzülmek durumundayım.

Karşılaşırsanız çözümü de büyük ihtimalle şudur:

NT Authority / Network Service adlı kullanıcı sizin IIS kullanıcınızdır ve bu kullanıcıda Db'nize erişim izni olması gerekmekte (SQL Server Management Studio'dan db ayarları kısmında verebilirsiniz yetkiyi). Bir diğer durum da eğer uygulama için yeni bir kullanıcı yarattıysanız connection string'i double check etmek olabilir.

Bir başka hata da (yazdığınız bir servise giderken);

"No connection could be made because the target machine actively refused it". "ee napalım yani, eksept etsin" gibi bir his doğuyor bu hataya karşı.

Yine bir başka;

Error 2 The type 'System.Web.Mvc.ModelClientValidationRule' exists in both 'c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll' and 'c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll' 

Müsait bir yerde delirecek var.
Fabrika çıkışınızda ingilizce paketi size yüklü gelse bile, bu hata mesajlarından birşey anlayamazsınız. Aslında 2. hata çözümü için servisinizde bir patlak oluştuğunu farketmeniz lazım (IIS servis patlaksa reset gönderiyormuş cevap olarak ondanmış hata) yoksa öyle takılıp durursunuz. 3.'sü için de  System.Web.WebPages  referansını silseniz fazlasıyla yeterli. Ama bu eksik demeye bile insanın utanacağı hata mesajları yüzünden insanlara lazım olan bir bardak suyken, internette bunu himalayalardan halay çekerek getirmek zorunda kalanlar, ve bilmedikleri için bunu öneren gruplar da oluşmuş. Dolayısıyla çözümü aramanız gerekiyor. Mesela 3.'sü için şöyle bir hata mesajı çok mu zor? "Referanslarınızda fazlalık olabilir. ModelClientValidationRule için 2 aynı tanım var." ve sonra da uzun uzun hata mesajı. Microsoft ve hata mesajı yazan herkese sesleniyorum. Ne olur kullanıcılara acıyın ve hata mesajında önce en olası çözümü yazın.

Bu arada object isimlendirme konusuna hiç girmiyorum ama ucundan şöyle desem kafi. Object adına "a" yazanı görmeyim. Veya göreyim ya "a" yazan da insandır.

Bey

Hiç yorum yok:

Yorum Gönder