【问题标题】:advantages and disadvantages of using try/catch [closed]使用 try/catch 的优缺点 [关闭]
【发布时间】:2013-01-26 15:46:21
【问题描述】:

我想问一下使用try/catchadvantagedisadvantages是什么?什么时候必须用,什么时候不能用?

【问题讨论】:

    标签: .net try-catch try-catch-finally


    【解决方案1】:

    当您在应用程序中使用一些外部控件/dll 并且您不确定它的功能并且您不希望该外部控件中的错误停止您自己的应用程序时,您可以使用 Try/Catch。由于该控件中的致命错误,它不会完全停止您的应用程序。但是使用该控件的部分代码将不起作用。

    这并不意味着您可以在自己的代码中使用 Try Catch 来避免致命错误,这可能会导致您的应用程序出现严重缺陷。

    Try/Catch 通常可用于调试应用程序,之后您可以删除 Try/Catch 块。

    【讨论】:

    • 也许您是从特定场景的角度来编写的,但是 try catch 块是非常有用的异常处理机制,并不是真的要用作调试工具。例如,考虑一个接受最大文件大小为 4MB 的文件上传系统。用户上传一个 2MB 的文件,其中包含超过 200 万个字符的图像。这是一种计划外的情况,需要使用 catch 块来优雅地处理错误。
    【解决方案2】:

    Try-Catch-Finally 语句是非常强大的结构,可帮助您的程序在大多数系统上完美运行。这是一个很好的错误处理机制,可以帮助你的程序不崩溃。 我想指出这种机制的缺点,因为缺点很少; 首先,在 try-catch 语句中工作时,您将失去一些性能,因为一些内部机制正在检查是否有任何异常被捕获,但是这种性能损失在当前系统中是可以忽略的,与启动整体的想法相比,这种损失是如此之小程序从一开始就因为未捕获异常而发生崩溃。 其次,try-catch 机制的概念一开始有点难以理解,你应该考虑好在何时何地使用 try-catch 语句。然而,在编程中理解复杂结构中的概念是最东方的之一。 看优势的一面; 异常捕获机制可帮助您决定在发生异常时要做什么。例如,在应对显示与服务器断开连接的异常时考虑在线游戏,您可以让用户离线玩游戏,而另一个人可能决定将他踢出游戏并告诉游戏玩家他已断开连接。 此外,异常系统使创建和使用框架成为可能,因为框架编码器会告诉您,当您使用他的框架时发生了异常,您将完成工作,遇到此异常您将如何反应。 最后,它可以帮助您简化错误检测系统。考虑在 if-else 语句中执行每个方法并查看错误是否已解决,它很快就会变得混乱,一段时间后您将无法阅读自己的代码。但是,在 try-catch 块中,您可以执行数以百计的可能失败的操作,并将代码简单地封装到一个简单的 try-catch 块中。 我现在没有更多的想法,但希望这可以帮助您理解为什么使用 try-catch 是有益的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-07
      • 2013-10-31
      • 1970-01-01
      • 2012-03-10
      • 2019-11-16
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      相关资源
      最近更新 更多