- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,在更改某些对象状态之前,我们使用 Guava 先决条件快速失败(来自 stackoverflow 的一个很好的答案 here)。这很好。然而,它会抛出运行时异常,并且这不是应用程序用户最喜欢的异常(500 个错误等等......)。所以我需要你在设计上给我一些帮助。
我有一个声明许多方法的接口(interface)。每个方法都有必须控制的参数(例如:不为空)。因此,在实现类中,我使用如下指令:
Preconditions.checkNotNull(fooObj);
但是,调用此 API 的程序可能会因运行时异常而崩溃,即本例中的 NullPointerException。
那么如何处理这些未经检查的异常呢?
谢谢。
-------- 编辑应用层:
数据访问层
API声明交换DTO的方法
使用 Guava 实现 API 并检查参数的过程
Web 服务取决于流程层
最佳答案
前提条件失败意味着您的程序存在错误。用户不应该遇到这些问题,除非他们在您的程序中发现了错误。
您的程序通常应该在发生错误时向用户显示某种错误消息,但更重要的是,您应该得到通知,以便您可以首先修复错误。
关于java - Guava Preconditions RuntimeExceptions 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46982680/
我是 Selenium 的新手,我正在尝试创建一个小型框架,我在其中登录一个应用程序,然后尝试验证帐户中的一些文本。 但是一旦我的脚本登录帐户,浏览器就会关闭,我无法验证文本字符串。 有人说是因为dr
我正在Xcode 11上构建SwiftUI应用程序,但是当我切换到应用程序中的特定选项卡时,它会立即终止。 问题是,它始终指向Application Delegate文件,我认为这并不是真正的问题。我
脚步: 接收 ViewModel 以更新或创建实体 如果存在,则尝试获取现有实体 调用 IMapper.map(viewModel, entity) 因为我正在为 map 提供目标值,所以是否可以检查
在阅读了一些关于集成管道的文档后,我对 IIS 如何确定何时运行托管模块、托管请求实际上是什么以及如何确定感到困惑,例如: http://www.iis.net/learn/application-f
为什么当警告级别处于 2 级或更高级别时,我会立即收到此琐碎代码示例的以下警告? public int Foo(int a) { if (a >= 0) throw new ArgumentE
据我了解,在更改某些对象状态之前,我们使用 Guava 先决条件快速失败(来自 stackoverflow 的一个很好的答案 here)。这很好。然而,它会抛出运行时异常,并且这不是应用程序用户最喜欢
我正在为类 ForeignCollection 编写反序列化程序,即 abstract ,并在 ORMLite Android Library 中提供给我.请参阅下面的代码。 public class
在我们的代码中,我们经常使用Preconditions 检查参数: Preconditions.checkArgument(expression, "1" + var + "3"); 但有时,这段代码
我正在尝试对类的成员函数返回的值使用@postcondition 装饰器,如下所示: def out_gt0(retval, inval): assert retval > 0, "Retur
我的应用程序运行良好,但由于我的操作系统 Debian 出现问题,我决定重新安装它并选择安装 Ubuntu-16.04 而不是最后一个 Debian。现在一切正常。 问题是我的 android 应用程
在我的项目中,我们使用 voltdb 作为数据库,我们使用 liquibase 来管理版本等。我们在一个文件中编写变更集,为 voltdb 我们使用 RunAlways.xml 包含以下步骤的文件 删
我尝试将 UUID 添加到用户模型上的 UUID 数组属性,但它返回“前提条件失败 - id.exists”。我在数据库上使用更新而不是创建或保存。使用 PostgreSQL 数据库。错误在 Flue
使用 @Nonnull 注释的参数然后使用 Preconditions.checkNotNull() 检查是否有意义? 它们有什么区别?据我所知,使用 @Nonnull 只会指定一个契约(Contra
我有一个带有以下相关代码的 Python Eve 应用程序: def handle_user_update(request, lookup): if request and request.data:
当使用“If-Match” header 执行 PUT 或 DELETE 时,如果客户端发送的 ETag 指示过时,我想返回整个最新实体而不是仅仅返回 412 (包括 HTTP header 中的新
我正在浏览 Guava 代码库和 in Preconditions source there is some explanation如下引用: All recent hotspots (as of 2
我正在尝试使用 python mechanize 模块在网站上自动化一个过程。 使用以下代码,我将刷新站点,直到找到我想要关注的链接: for link in br.links
我收到以下错误: java.lang.IllegalArgumentException at com.google.api.client.repackaged.com.google.commo
我想在我的应用程序的方法中添加字段验证(例如字段不为空且为正)。 private void assertionTest(Integer i) { // want to first assert
我正在使用以下查询从 Google 数据存储区检索一些实体: var query = datastore.createQuery(namespace,tableName); query.select
我是一名优秀的程序员,十分优秀!