首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常处理

异常处理
EN

Stack Overflow用户
提问于 2011-04-28 00:58:08
回答 6查看 111关注 0票数 1

我需要知道这两种异常处理方式中的哪一种更好,为什么??或者其他做得更好的方法。

代码语言:javascript
复制
try{
                if (String.IsNullOrEmpty(filePath))
                {
                    throw new ArgumentNullException("The path is null or empty.", "filePath");
                }

代码语言:javascript
复制
 try{
                if (String.IsNullOrEmpty(filePath))
                {
                    Console.WriteLine("The path is null or empty");
                } 
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-04-28 01:06:04

我不能确定这一点,因为你的程序的其余部分不在那里;但我猜第一种选择会杀死你的程序,而第二种选择只是在控制台上打印一些东西,然后继续你的程序的其余部分。所以这个问题的答案更多的取决于你想要它做什么?当这种情况发生时,希望程序死掉吗?抛出异常,不要处理它。要在发生这种情况时重新提示用户吗?然后使用第二个选项,但将IF语句转换为while循环,并提示,直到条件不再为真。

票数 0
EN

Stack Overflow用户

发布于 2011-04-28 01:02:16

我推荐第二种方法,除了在这种情况下不需要try/catch。异常是用来处理异常情况的。如果你能防止那些带有if条件的情况,你应该更喜欢这样做。如果您是一些性能优化狂人,您可能已经知道抛出和捕获异常可能比测试条件更昂贵。

票数 2
EN

Stack Overflow用户

发布于 2011-04-28 01:02:32

如果没有路径中断了整个应用程序流,抛出一个异常是一个好主意,这样您就可以恢复应用程序的状态以进行另一次尝试,或者向用户显示一个对话框。

另一方面,Console.WriteLine("The path is null or empty");只是通知用户这种情况,然后继续前进。如果您的执行流没有受到损害,这将对您的应用程序增加最小的开销,因此更可取。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5807742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档