這是一個'最佳實踐'是什麼聲明新變量的問題,我現在已經看到了這種情況幾次。我有一個類,它的構造函數讀取配置文件,如:範圍時,圍繞'新'語句與try/catch在c#
ConfigMgr config = new ConfigMgr(args[0]);
當然,如果你沒有這樣的說法運行控制檯應用程序,例外的結果。如果我按如下方式用try/catch包圍該行,則會出現錯誤'The name'config'在當前上下文中不存在'。可以理解的。
try
{
ConfigMgr config = new ConfigMgr(args[0]);
}
catch
{
Console.WriteLine("Config file not specified or incorrect in format. Exiting.");
Console.ReadLine();
}
// Defaults
string aucomposingfile = config.getValue("aucomposingfile");
string nzcomposingfile = config.getValue("nzcomposingfile");
...etc
我可以分離出需要在構造函數中的參數部分 - 做try/catch塊外的新的ConfigMgr部分,然後像做config.LoadFile()在try/catch語句。但我無法想象這就是知情人員所做的。
有什麼想法?
謝謝!
這就是我所要做的。 – BoltClock 2011-05-31 02:49:13
你爲什麼認爲它錯了...我想每個人都會這麼做 – 2011-05-31 02:51:12
感謝大家的意見。我不確定哪一個標記爲答案,因爲兩個答案都能很好地解釋它。任何建議表示讚賞(底部的'第一'的答案)?雙方都得到我的讚賞! – Glinkot 2011-05-31 06:53:39