具有覆盖全浮点范围的封闭范围的开关语句

意义问题

我希望下面的代码能够涵盖全部Float范围,我只使用了 0 以上的一小部分。

然而,我的应用程序有时会在现场崩溃,因为它点击default: fatalError().

这里可能有什么问题?

var value: Float // Between a little above 0 and about 15.

...

switch value
{
case ...3: return 0
case 3...10: return 1
case 10...: return 2
default: fatalError()
}
瓦迪姆别利亚耶夫

例如,如果 value 是Float.nanFloat.signalingNaN则此开关将一直下降到默认值,因此从技术上讲,应用程序在该点上合法崩溃是可能的。

考虑在崩溃之前添加一些日志记录以检查哪个值导致它崩溃。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章