问题标签 [overflowexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2754 浏览

c# - 向窗口发送 WM_KEYUP 消息会产生 OverflowException

我正在尝试实现一个程序,该程序将相同的消息发送到一个窗口,如果连续按下某个键,该窗口将被发送。这是应用程序代码的一部分(整个 Form1.cs 代码在此处):

到达代码中的 WM_KEYUP SendMessage 后,程序崩溃并给出错误:

我该如何解决这个错误?WM_KEYUP 之前的 4 个 SendMessage 调用工作正常,它们将 2 个字母“a”发送到记事本。

感谢您的回复

0 投票
1 回答
2398 浏览

c# - 为什么添加两个结果大于 int.MaxValue 的大整数不会引发溢出异常?

如果我们在程序中使用以下循环,则循环永远不会在 C# 4.0 中结束

这是因为 int.MaxValue (2147483647) 加 1 不会导致溢出异常,但会导致 -2147483648(考虑到 32 位 int 和 2 的补码)。

最近这种行为似乎发生了变化。请参阅问题算术运算导致溢出异常。此更改背后的原因可能是什么?

0 投票
5 回答
5156 浏览

c# - 递归堆栈大小?

为什么在调用上面的示例时获取递归函数并抛出 StackOverflowException。

(因为超过了默认的递归堆栈大小?)

但我想知道如何解决这个问题。

谢谢。

0 投票
1 回答
182 浏览

.net - 为什么十进制->字节转换会发生OverflowExceptions,而uint->字节不会发生溢出异常?

我想知道是否有人可以解释我看到的溢出异常。

考虑以下代码:

我只在最后一行得到一个 OverflowException(当将 adecimal转换为 a时byte)。uint在将相同的值转换为 a时,我没有得到它byte

我不明白为什么会这样。有什么建议么?

0 投票
1 回答
395 浏览

mschart - 在 MSChart 中使用 NaN 值会导致溢出异常

我正在使用 MSChart 实时绘制应用程序...我需要设置一些 y 值,NaN但我遇到了溢出异常。这是发生它的代码部分:

调用是为了避免跨线程问题。

知道如何才能避免异常吗?我尝试在SetValueY通话之前使用 unchecked 关键字,但没有任何变化。

0 投票
2 回答
10995 浏览

c# - 复制到数据表时,值对于 Int16 来说太大或太小

问:

以下代码:

抛出异常:

对于 Int16,值太大或太小。无法在 emp_num 列中存储 <103930>。预期类型是 Int16。---> System.OverflowException:对于 Int16,值太大或太小。

0 投票
0 回答
1119 浏览

c# - SQLCLR 项目中的 SqlDecimal 问题

使用 SqlDecimals 时,我得到了一些意想不到的结果。最后,在划分 2 个 SqlDecimal 时,它似乎归结为规模问题。

c# 示例代码如下所示:

SQL 测试代码如下所示:

第二个选择返回我以下错误:

在网上搜索时,我发现很多与将 SqlDecimal 转换为 Decimal 时的舍入错误相关的问题,但在我的情况下,从头到尾一切都是 SqlDecimal,因为我想避免这种情况。同样,我“希望”结果与在 SQL 中本地实现的方式相同。但是,唉。即使它没有溢出,它也会在“边界情况”中给我不同的结果。

任何人都有关于如何解决这个问题或至少解决它的任何提示?SqlDecimal 是否在内部使用(.Net)小数,因此不能将信息塞进它的 3 个字节中?!?!?

PS:我无法预测数字(p,s)的哪些组合将传递给函数,但 38,8 是“可接受的”。我希望为我的原始 UDF 制作一个更快的 SQLCLR 版本(它所做的不仅仅是除法 =)。诚然,它更快,但它应该适用于相同的数字范围。

0 投票
1 回答
1480 浏览

.net - WinAPICodePack 中的 TaskDialog 在 .NET 4.0 上不起作用

我正在编写一个应用程序并想使用该TaskDialogIndirect函数 - 但是我不想编写大量的 P/Invoke 内容等,所以我包含了 WinAPICodePack。不过有一个问题!当我创建一个控件TaskDialog并将其添加到对话框时,一切正常。但是,运行这些Show方法会导致OverflowException在 mscorlib 中。我将此归结为一些指针处理和编组。

试验代码的结果是,我发现必须为 .NET 3.5 和包含应用程序TOO编译 DLL 。让我的应用程序在 .NET 4.0 上调用此错误...关于解决方法的任何想法 - 或者您甚至可以重现此错误吗?

另一个问题是我可以将Icon属性设置为我想要的任何东西,但根本不显示图标。我必须设置一个Opened动态设置图标的事件......

信息:在 Windows 8 Pro x64 RTM 上运行 Visual Studio 2012 RTM。应用程序是一个标准的 WPF 应用程序。

示例代码:

0 投票
1 回答
3697 浏览

windows-8 - IntPtr.ToInt32() 和 x64 系统

在我的 c# dll 中,我有一些这样的代码可以与一些非托管 dll 交互:

在安装 Windows 8 之前,在 x64 系统上使用带有 .Net2 和 .Net4 的 AnyCPU 编译的 dll 时,这一直运行良好。

在 Windows 8 中使用 .Net4 dll 时,我在 buffer.ToInt32() 调用中收到 OverFlowException(“算术运算导致溢出。”)。

IntPtr.ToInt32() 的 MSDN 文档说:

“OverflowException:在 64 位平台上,此实例的值太大或太小,无法表示为 32 位有符号整数。”

我想知道为什么这个问题只出现在 Windows 8 中,以及修复它的正确方法是什么。

我应该使用这样的方法,而不是 IntPtr.ToInt32() 调用吗?

0 投票
2 回答
827 浏览

c# - 为什么这不会产生溢出异常?

我正在使用 LinqPad 测试一些东西,并对以下代码没有产生异常感到惊讶:

这会产生以下输出:

幸运的是,我希望有这种行为,但我假设这会导致 anOverflowException被抛出。

来自System.OverflowException

在以下情况下,会在运行时引发 OverflowException:

  • 算术运算产生的结果超出了运算返回的数据类型的范围。
  • 强制转换或转换操作尝试执行缩小转换,并且源数据类型的值超出目标数据类型的范围。

为什么手术不lSmallValue - lBigValue属于第一类?