不可捕獲的異常
雖然 Catch ex As Exception
聲稱它可以處理所有異常 - 但有一個異常(沒有雙關語意)。
Imports System
Static Sub StackOverflow() ' Again no pun intended
StackOverflow()
End Sub
Static Sub Main()
Try
StackOverflow()
Catch ex As Exception
Console.WriteLine("Exception caught!")
Finally
Console.WriteLine("Finally block")
End Try
End Sub
糟糕…有一個未被捕獲的 System.StackOverflowException
,而控制檯甚至沒有列印任何東西! 根據 MSDN ,
從 .NET Framework 2.0 開始,你無法使用 try / catch 塊捕獲 StackOverflowException 物件,並且預設情況下會終止相應的程序。因此,你應該編寫程式碼來檢測並防止堆疊溢位。
所以,System.StackOverflowException
是不可捕捉的。小心那個!