Deneme 10 soru

Nesneye Yönelik Programlama Final Deneme Sınavı -9

Kaynak: https://lolonolo.com/2022/08/13/nesneye-yonelik-programlama-final-deneme-sinavi-9/

📖 Konu özeti (sınav öncesi tekrar)

Nesneye Yönelik Soruları

Nesneye Yönelik Soruları

10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 2
C# Programlama Dillinde System.Exception sınıfınun kullanım amacı aşağıdaki seçeneklerin hangisinde verilmiştir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

System.Exception, .NET'teki tüm istisna (hata) sınıflarının temel sınıfıdır. Çalışma sırasında oluşan hataları ve istisnai durumları temsil etmek ve yönetmek için kullanılır. DivideByZeroException veya IOException gibi özel hata sınıflarının hepsi bu sınıftan türer.

Soru 3
C# Programlama Dilinde try – catch -finally bloğunun en doğru kullanımını belirten seçenek aşağıdakilerden hangisinde verilmiştir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

try bloğu her zaman çalıştırılır. catch yalnızca bir hata oluştuğunda devreye girer. finally bloğu ise hata oluşsa da oluşmasa da her durumda çalışır, bu yüzden dosya veya bağlantı kapatma gibi temizlik işlemleri genellikle buraya yazılır. Diğer şıklar bu blokların görevlerini karıştırmaktadır.

Soru 4
C# Programlama Dilinde bir hata (Exception) oluşturmak için hangi anahtar kelime kullanılır?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta bir istisnayı bilerek oluşturmak (fırlatmak) için throw anahtar kelimesi kullanılır. Örnek: throw new ArgumentException("Geçersiz değer");. return metottan değer döndürür; for, switch ve if ise akış kontrol yapılarıdır.

Soru 5
C# Programlama Dilinde System.Exception sınıfı içinde bulunan StackTrace hangi bilgiyi barındırır?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

StackTrace özelliği, hata oluştuğu anda çağrı yığınında (call stack) bulunan metot çağrılarını metin olarak tutar. Böylece hatanın hangi metotta, hangi çağrı zinciriyle oluştuğu izlenebilir. Hatayı açıklayan metin ise Message özelliğinde, yardım bağlantısı da HelpLink özelliğinde bulunur.

Soru 6
Yukardaki kod çalıştığında ekrana hangi çıktı yazar?
CDoğru cevap
Soru 7
C# Programlama Dilinde bir fonksiyon sonsuz döngüde kendini çağırırsa hangi hata oluşur?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Bir fonksiyon durma koşulu olmadan kendini sürekli çağırırsa her çağrı çağrı yığınında (stack) yeni bir çerçeve açar. Bir süre sonra yığın dolar ve StackOverflowException, yani Stack Overflow hatası oluşur. Arithmetic Overflow ise sayısal taşma hatasıdır ve özyinelemeyle ilgili değildir.

Soru 8
C# Programlama Dilinde Hata Yakalama (Exception) ile ilgili verilenlerden hangisi doğrudur?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Exception'lar (istisnalar) programın çalışma zamanında (runtime) oluşan hatalardır; sıfıra bölme veya olmayan bir dosyayı açma gibi. Söz dizimi hataları ise derleme zamanında derleyici tarafından yakalanır ve exception sayılmaz.

Soru 9
C# Programlama Dilinde çalışma zamanında oluşacak bir hatayı hangi ifade ile kontrol edebiliriz?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Çalışma zamanında oluşabilecek hatalar try-catch yapısıyla kontrol edilir. Riskli kod try bloğuna yazılır; hata oluşursa program çökmek yerine catch bloğu çalışır. foreach ve while döngü yapılarıdır, new nesne oluşturur, struct ise yapı tanımlar.

Soru 10
I – try bloğunun içine tekrar try bloğu yazılamaz.
II – finally bloğunu yazmak zorunlu değildir.
III – Bir fonksiyonun içinde sadece bir try bloğu yazılabilir.
C# programlama dilinde hata ayıklama ile ilgili yukarda verilenlerden hangisi doğrudur?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

finally bloğu isteğe bağlıdır; try-catch tek başına kullanılabilir, bu yüzden II doğrudur. I yanlıştır, çünkü iç içe try blokları yazılabilir. III de yanlıştır, çünkü bir fonksiyonda birden fazla try bloğu bulunabilir. Bu nedenle yalnız II doğrudur.

Soru 11
Aşağıdakilerden hangisi C# programlama dilinde bir hata ayıklama sınıfıdır?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

System.Exception, C#'taki hata sınıflarının temel sınıfıdır. Diğer şıklardaki adlar uydurmadır. Gerçek sınıflar StackOverflowException, DivideByZeroException veya OverflowException biçiminde adlandırılır; "StackExtraflow" ya da "DivideByOne" diye bir sınıf yoktur.