的區別是什麼(如果有的話),以書面形式:拋出新的異常與沒有周圍的捕獲之間的差異,並把它放在一個捕獲?
if (File.Exists(filePath))
//Something
else
throw new FileNotFoundException();
和包圍的if/else塊以上,與抓一試梅開二度。
其實,是否需要捕獲?如果是這樣,它會發生什麼?或者更好的比較是將上面的塊的if部分放在try語句中(不包含if語句)並捕獲FileNotFoundException
,拋出調用堆棧(拋出)。
感謝
因此,在一個帶有GUI的應用程序中,我總是想拋出異常。我認爲如果有一堆代碼在基於GUI的系統上運行,而不是由用戶調用,那麼應該使用我展示的模式(try/catch,no throw;)。 – dotnetdev 2011-04-12 22:45:39