当我在Scala中发现数据处于不一致状态时抛出哪个异常?
发布时间:2020-12-16 18:22:36 所属栏目:安全 来源:网络整理
导读:我有一个小型 Scala程序,它从数据源中读取数据.此数据源当前是.csv文件,因此它可以包含数据不一致. 在为我的数据实现存储库模式时,我实现了一个方法,该方法将返回一个特定字段的对象,该字段应该是唯一的.但是,我不能保证它真的是唯一的,就像在.csv文件中一样
我有一个小型
Scala程序,它从数据源中读取数据.此数据源当前是.csv文件,因此它可以包含数据不一致.
在为我的数据实现存储库模式时,我实现了一个方法,该方法将返回一个特定字段的对象,该字段应该是唯一的.但是,我不能保证它真的是唯一的,就像在.csv文件中一样,我无法以真实数据库中的方式强制执行数据质量. 因此,该方法检查存储库中是否存在具有所请求的字段值的一个或零个对象,并且这很顺利.但我不太了解Scala(或Java),我发现Java异常层次结构的图表并不是很有帮助.如果有两个对象具有相同的唯一值,那么抛出是适当的例外.我该怎么用? 解决方法
这种情况有两个方便的例外:IllegalStateException和IllegalArgumentException.当对象内部状态处于某种非法位置时(例如,您调用连接两次),使用第一个,并且当存在来自外部世界的数据时使用最后一个(这似乎更适合您的情况)它不满足某些规定的条件:例如负值,当函数应该与零和&正面价值观.
两者都不应该在调用者端以编程方式处理(使用try / catch) – 它们表示在程序流中非法使用api和/或逻辑错误,并且在开发期间必须修复此类错误(在您的情况下),他们必须通知正在传递该数据的开发人员,该特定字段必须仅包含唯一值). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- BootStrap的使用
- class – Scala Builder Pattern:涉及类型T的非法循环引用
- bootstrap-validator 验证一个标签同时验证另一个指定标签
- angular – Ionic 3如何确保在加载视图之前获取db数据
- 如何在Angular 2中导入非核心npm模块,例如(使用加密库)?
- typescript – ng-class in Angular2
- 尝试从bash中的字符串中检索前5个字符(仅限数字和字母)
- osx – 从shell脚本(Unix)中关闭终端窗口?
- 炫了一笔的分页技术,动态十足,纯手工打造,无bug(用boots
- WebService、WcfService和WcfRestService数据包的格式总结