在本文开始前,先给大家分享几个好用的IDEA激活码
这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:
2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)
2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新)
2022和2023Webstorm激活码,Webstorm稳定专属激活码(持续更新)
我们都知道GOTO已被弃用,被认为是绝对邪恶的。此外,任何跳转指令都是不好的,因为它会破坏代码的逻辑顺序流。按标签跳跃会破坏我们的大脑并使其难以遵循逻辑,因为我们应该跟踪任何变量和上下文的当前状态。
那么,为什么我们要为我们的业务逻辑使用异常呢?
让我们从头开始。让我们打开Java中错误的层次图:
您可能已经知道,Error 是一种特殊情况——当无法继续工作并且我们想要停止 JVM(或系统无法再运行)时使用它。这个类及其所有子类都用绿色标记。
另一种情况是类 Exception,它的子类 (RuntimeException) 也是绿色的,但其余的都是红色的。
所有绿色类都是未经检查的异常,不应在代码中显式捕获和处理。所有红色的都被选中——它们应该在函数声明中被提及并被显式处理。
如今,大多数用户更喜欢使用 RuntimeException 类作为继承的父类来使用未经检查的异常。即使任何 API 在方法签名中声明了检查异常,我们也会使用带有 SneakyThrows 注释的 Lombok 来抑制它。Spring Web Framework 提供 ControllerAdvice 注释来为我们的异常创建处理程序。
有一次我陷入了沉思,问自己一个问题:如果我们在谈论业务逻辑实现,类GOTO标签跳转和Exception handlers(包括catch块)有什么区别?
真的,为什么我们在没有异常情况的情况下使用异常?例如,当我们在数据库中找不到 HTTP API 的记录时,通常会使用 EntityNotFoundException 之类的东西,然后我们在 ControllerAdvice 中处理此异常以向客户端返回 404 NotFound 状态代码。这种情况真的需要例外吗?这个案例是特例吗?或者它通常用于任何网络应用程序?
发布者:admin,转转请注明出处:https://www.ajihuo.com/soft/5330.html