我想弄清楚一種方法來捕獲由FileSystemWatcher
引發的異常,這些似乎是隨機發生的,因爲我從我的軟件的崩潰報告日誌中已經注意到。這次事故並不頻繁,因爲它僅發生在上個月的兩次,但令人討厭,我很想修復它。有問題的例外似乎與其路徑中具有無效字符的文件有關。我不確定情況是否如此,或者提出的事件是否有問題。到目前爲止,我所知道的是異常的堆棧跟蹤:捕獲由FileSystemWatcher偵聽器線程拋出的異常
Top-level Exception
Type: System.ArgumentException
Message: Illegal characters in path.
Source: mscorlib
Stack Trace:
at System.IO.Path.GetFileName(String path)
at System.IO.FileSystemWatcher.MatchPattern(String relativePath)
at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
從堆棧跟蹤很顯然,該異常升高回調事件到我的應用程序之前,聽者的執行範圍內提出。我想知道是否有無意中發現這種異常並繼續執行,而忽視了這一事件。
我試圖封裝我守望回調的身體與try/catch
塊,但似乎從來沒有執行到達回調和它真的令人沮喪,因爲我現在開始認爲它是在.NET Framework中的錯誤
是它在unhandledexception引發的事件? –
完整路徑不能包含以下字符:「< > | –
@SimonWhitehead是的,我就是這麼做的。 –