C#的static constructor抛了异常会怎么处理?
生活随笔
收集整理的這篇文章主要介紹了
C#的static constructor抛了异常会怎么处理?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
stackoverflow上舉了這個例子說明在C#中,如果static constructor只會被調用一次,即使拋了異常,也不會重試調用。如果拋了異常,那么在這個appdomain里面,這個類就不能用了。
示例代碼:
using System;public sealed class Bang {static Bang(){Console.WriteLine("In static constructor");throw new Exception("Bang!");}public static void Foo() {} }class Test {static void Main(){for (int i = 0; i < 5; i++){try{Bang.Foo();}catch (Exception e){Console.WriteLine(e.GetType().Name);}}} }輸出如下:
In static constructor TypeInitializationException TypeInitializationException TypeInitializationException TypeInitializationException TypeInitializationException轉載于:https://www.cnblogs.com/fresky/archive/2013/02/19/2916656.html
總結
以上是生活随笔為你收集整理的C#的static constructor抛了异常会怎么处理?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA815
- 下一篇: Object.keys() Obje