的区别是什么(如果有的话),以书面形式:抛出新的异常与没有周围的捕获之间的差异,并把它放在一个捕获?
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