說我有下面的代碼:「fjuk」輸出參數和異常
static void Fjuk(out string str)
{
str = "fjuk!";
throw new Exception();
}
static void Main(string[] args)
{
string s = null;
try
{
Fjuk(out s);
}
catch (Exception)
{
Console.WriteLine(s ?? "");
}
}
當我測試了一下,s
已經被初始化到當它在catch
區塊中使用時。
這是由規範保證還是依賴於實現? (我已經搜查了C#3.0規範,但無法找到自己)
我不知道規範,但它肯定是我期望的。我期望成員變量,屬性等的初始化也將在你的catch塊中可用。 – 2012-01-18 07:57:30
Eric Lippert在什麼時候需要他...... :) – 2012-01-18 08:00:52
@jb。 [MSDN]有什麼問題(http://msdn.microsoft.com/en-us/library/t3c3bfhx(v = vs.80).aspx)? – gdoron 2012-01-18 08:08:59