gpt4 book ai didi

scala - 当我发现 Scala 中的数据状态不一致时,应抛出哪个异常?

转载 作者:行者123 更新时间:2023-12-03 05:03:56 24 4
gpt4 key购买 nike

我有一个小型 Scala 程序,它从数据源读取数据。此数据源当前是 .csv 文件,因此可能包含数据不一致的情况。

在为我的数据实现存储库模式时,我实现了一种方法,该方法将通过应该是唯一的特定字段返回一个对象。但是,我不能保证它确实是唯一的,就像在 .csv 文件中一样,我无法像在真实数据库中那样强制执行数据质量。

因此,该方法检查存储库中是否有一个或零个具有所请求字段值的对象,并且进展顺利。但我不太了解 Scala(或者 Java),而且我发现 Java 异常层次结构的图表也没有多大帮助。如果有两个对象具有相同的假定唯一值,则抛出适当的异常。我应该用什么?

最佳答案

对于这种情况有两个方便的异常:IllegalStateExceptionIllegalArgumentException。第一个用于当对象内部状态处于某些非法位置时(例如,您调用 connect 两次),最后一个(这似乎更适合您的情况)用于有数据时来自外部世界并且不满足某些规定条件:例如负值,当函数应该使用零和正值时。

两者都不应该在调用方以编程方式处理(使用 try/catch)——它们表示非法使用 api 和/或程序流中的逻辑错误,并且必须在开发过程中修复此类错误(在您的情况下,他们必须通知开发人员谁正在传递该数据,该特定字段必须仅包含唯一值)。

关于scala - 当我发现 Scala 中的数据状态不一致时,应抛出哪个异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23183301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com