vb.net - “<8>”作为值是什么意思?
问题描述
我通过我内置的异常报告系统从 vb.net Windows Forms 应用程序中获取异常报告。一些用户收到异常消息“值对于小数而言太大或太小。无法在 PrdHrs 列中存储 <8>。预期类型为小数。”
包含的堆栈跟踪告诉我方法,并且该消息缩小了异常被命中的位置,但我无法弄清楚“<8>”的含义。这是否仅表示 8 的值,但它周围显示小于/大于符号?或者这是否意味着某种价值类型?谷歌基本上是不可能搜索到这个的。
解决方案
我怀疑“8”实际上是一个无穷大符号,但无论您看到什么,它都没有正确显示。我刚试过这段代码:
Dim dbl = Double.PositiveInfinity
Dim table As New DataTable
table.Columns.Add("Number", GetType(Decimal))
table.Rows.Add(dbl)
这是我收到的信息:
System.ArgumentException HResult=0x80070057 Message=Value 对于 Decimal 来说太大或太小。无法在数字列中存储 <∞>。预期类型为十进制。Source=System.Data
StackTrace:在 System.Data.DataColumn.set_Item(Int32 记录,对象值) 在 System.Data.DataTable.NewRecordFromArray(Object[] value) 在 System.Data.DataRowCollection.Add(Object[] values)在 C:\Users\johnm\AppData\Local\Temporary Projects\ConsoleApp1\Module1.vb:line 12 中的 ConsoleApp1.Module1.Main()内部异常 1:OverflowException:对于 Decimal,值太大或太小。
Double
使用值然后将结果存储为值并不理想Decimal
。这可能是不可避免的,但如果是这样,您需要在验证方面做得更好。您可能正在除以零,这对于Double
值是合法的并产生Double.PositiveInfinity
or Double.NegativeInfinity
。
推荐阅读
- python - 如何导入非统一 CSV 文件的特定部分
- apache-spark - 将 Map 分解为键作为 Column 及其在其中的值
- android - 根据用户选择的时间间隔更改动态壁纸
- amazon-web-services - 使用 Terraform 的 CloudWatch 指标警报
- pandas - 如何将表格从行转置到标题
- vba - 有没有办法根据用户输入更改 vba 范围声明?
- r - R: approxfun 抱怨“对象不能被强制输入‘double’”
- java - 尝试对 jpaRepository 中的外键字段进行更新查询
- ui-automation - 使用 Tosca 扫描从屏幕上消失的菜单项
- html - 相对和绝对左下对齐