我是寫作課。下面是功能之一:C# - 拋出異常類
public string GetAttribute(string attrName)
{
try
{
return _config.AppSettings.Settings[attrName].Value;
} catch(Exception e)
{
throw new ArgumentException("Element not exists", attrName);
return null;
}
}
然後,我使用它的主要形式MessageBox.Show(manager.GetAttribute("not_existing_element"));
Visual Studio中拋出的線路異常:throw new ArgumentException("Element not exists", attrName);
,但是,我希望得到一個異常在線MessageBox.Show(manager.GetAttribute("not_existing_element"));
我該怎麼做? 上傳:對不起,英語不好。
不知道我完全同意這一點 - 如果設置不存在,將返回一個空值。這不會導致MessageBox.Show調用的問題嗎? – Tim
@Tim - 異常會冒泡。 'MessageBox.Show'不會被執行。如果'attrName'不存在,'_config.AppSettings.Settings [attrName]'將是'null',對'.Value'的調用將導致'NullRefereceException'。 – Oded
好的,現在我明白了(在我睡覺的時候)。謝謝:) – Tim