我有一個嘗試趕上,如果字符串具有無效的Windows路徑字符應該捕獲異常。C#:嘗試,趕上沒有捕獲異常
try
{
Result = Path.GetFullPath(pathname);
}
catch (System.IO.IOException e)
{
CatchResult = (e);
}
但是一個異常仍然在被拋出,並且應用程序崩潰了。有任何想法嗎?
我有一個嘗試趕上,如果字符串具有無效的Windows路徑字符應該捕獲異常。C#:嘗試,趕上沒有捕獲異常
try
{
Result = Path.GetFullPath(pathname);
}
catch (System.IO.IOException e)
{
CatchResult = (e);
}
但是一個異常仍然在被拋出,並且應用程序崩潰了。有任何想法嗎?
MSDN指出Path.GetFullPath()
引發5種異常但不是IOException
。您必須捕獲正確類型的異常。有關更多信息,請參見documentation。
['PathTooLongException'](http://msdn.microsoft.com/zh-cn/library/system.io.pathtoolongexception%28v=vs.110%29.aspx)是從'IOException'派生的,所以他的catch得到那一個。 –
Path.GetFullPath(string)不會拋出IOException作爲它的一個可用異常。
請仔細閱讀在Path.GetFullPath MSDN
例外的例外列表拋出:
公平地說,['PathTooLongException'](http://msdn.microsoft.com/zh-cn/library/system.io.pathtoolongexception%28v=vs.110%29.aspx)是IOException的後代, ,所以抓住會得到那一個。 –
觸手可及。 –
什麼是拋出異常? – ClickRick