我希望下面的代码能够涵盖全部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.nan
或Float.signalingNaN
,则此开关将一直下降到默认值,因此从技术上讲,应用程序在该点上合法崩溃是可能的。
考虑在崩溃之前添加一些日志记录以检查哪个值导致它崩溃。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句