"Sonunda" bloğunun her zaman ne olursa olsun yürüteceği bir teoriyi test etmek için basit bir program yazdım. Ancak, aşağıdaki pgm'den gördüğüm şey, kontrolün dış final bloğuna hiçbir zaman girmediği.İç "yakalama" atarken dış neden "son" gerçekleştirilmez?
Visual Studio'da F5 ve Ctrl-F5 yapmayı denedim ve aynı sonucu verdi.
Birisi neden bu davranışı gördüğümü açıklayabilir mi? Konsol penceresinde
Çıktı geçerli:
iç
iç yakalamak nihayet
dış mandalı
işlenmeyen exeption:
..ve sonra uygulama çöküyor
public class Program
{
static void Main()
{
try
{
try
{
string s = null;
s.ToString();
}
catch
{
Console.WriteLine("inner catch");
throw;
}
finally
{
Console.WriteLine("inner finally");
}
return;
}
catch
{
Console.WriteLine("outer catch");
throw;
}
finally
{
Console.WriteLine("outer finally");
}
}
}
oh tamam. iptal üzerine tıklayarak "dış nihayet: deyim ortaya çıkar. Bunu bilmek güzel. Teşekkürler – user330612