我與同事有糾紛。他寫了一個程序,我打電話給一個System.Diagnostics.Process
對象並調用process.Start()
。但是,在某些情況下,他想拋出一個例外來使自己的過程崩潰,我應該用process.StandardError
來解決他的例外,並從那裏處理。如何在進程之間傳遞字符串錯誤消息?
我的直覺反應是這是一個非常糟糕的主意;通過一個未處理的異常終止一個進程是Windows操作系統本身所關注並注意到的事情,像彈出錯誤消息框這樣的東西,這是非常不可取的。我認爲他應該寧願以一些有意義的錯誤代碼優雅地終止,並且我可以檢查該過程的ExitCode
。但他說一個整數是不夠的;他想用字符串傳送錯誤信息。
我是否反對讓他拋出異常,崩潰他自己的應用程序?有沒有一種簡單的方法讓他向我傳遞一個字符串錯誤消息,而無需我們在兩個應用程序之間定義特殊的通信機制?你還會推薦什麼?
我同意你的直覺。看起來你的同事正在使用一個例外,只是因爲這使得他能夠傳遞信息。這不完全是例外情況... – Treb 2012-03-07 08:03:11