我試圖捕獲錯誤與形式捕捉命令行錯誤
Myapp.exe myFile.txt
的應用然而,應用程序引發了不正確的命令行參數「未處理的異常 - 路徑是法律形式的不」。
下面是我的代碼,我想知道爲什麼它不顯示代碼中提供的消息框?謝謝。
我試圖捕獲錯誤與形式捕捉命令行錯誤
Myapp.exe myFile.txt
的應用然而,應用程序引發了不正確的命令行參數「未處理的異常 - 路徑是法律形式的不」。
下面是我的代碼,我想知道爲什麼它不顯示代碼中提供的消息框?謝謝。
如果您傳遞給File.Exists
(例如,C:\D:/E:\
)無效的路徑,你會得到例外。
不幸的是我沒有,我不能在我的代碼中找出什麼是錯的。 – 2010-06-16 00:59:44
你究竟是什麼意思? – SLaks 2010-06-16 01:10:23
你應該修改你的代碼像波紋管是越多越好?d
String[] cmdlineArgs = Environment.GetCommandLineArgs(); if (cmdlineArgs.Length == 2) { try { if (File.Exists(cmdlineArgs[1].ToString())) ConfigParameters.SetConfigParameters(cmdlineArgs[1].ToString()); } catch (Exception ex) { MessageBox.Show("Configuration file does not exist.Restarting..."); Environment.Exit(1); } }
因爲當你的文件路徑包含一些特殊字符(<,>,*,等等),File.Exists()可能會引發異常,如您所見。
嘗試刪除'.ToString()' – 2010-06-16 00:55:37
@Rubens:這沒有幫助。 (但是,他應該這樣做) – SLaks 2010-06-16 00:56:00
嘗試刪除ToString()。不起作用。謝謝。 – 2010-06-16 00:58:38