我有一个基本错误:
将datetime2数据类型转换为日期时间数据类型 导致超出范围的价值。\ r \ n声明已经发布 终止。
我在多个地方都有这个东西,但是当堆栈跟踪引发异常时,我不知道如何找到导致问题的代码或部分代码。
问题是它难以调试,因为当我添加1个元素时它可以正常工作,当我循环时我猜它会以某种方式丢失datetime的赋值。
代码太长了,我只需要一个提示如何在抛出异常时读取堆栈跟踪。
答案 0 :(得分:1)
堆栈跟踪可能无法显示您想要的所有内容,但是,请尝试查看右侧的选项卡:可能是select语句(可能是最后一个)导致错误,您可能想要检查它们。
另外,我建议在SQL数据库中为表使用适当的类型,这样的错误表示架构中存在错误,您可能需要重新考虑(或者至少检查每一行的类型)数据库类型对于可能携带的数据。
答案 1 :(得分:0)
查看callstack窗口。我从你的截图中提取了这个:
这不是引发异常的地方,但这是您可以处理它的地方。你的代码调用别人的方法,你可能传递了一个无效的参数。
外部代码抛出异常,这意味着不是您的代码。但是,除非您认为它是其他人的代码(例如Microsoft)中的错误,并且您想向Microsoft提交错误报告,否则您不需要该信息。
如果您真的想知道问题出在哪里,请右键单击callstack并启用[x] Show external code
。请注意,您可能没有源代码,甚至从未获得它。