问题标签 [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 回答
2911 浏览

c# - 从双精度转换为十进制时避免溢出异常

double(或float) 转换为 时decimal,可能会出现溢出异常。所以我写了这个小扩展方法,通过饱和来防止这种情况:

问题是,这种溢出在我的用例中经常发生,打破了“例外应该是例外”的指导方针。是的,这会减慢应用程序的速度,但这并不是非常重要。真正的问题是它还会在调试过程中导致许多第一次机会异常,这很烦人。这是第二次尝试,似乎工作正常:

我离开了 try-catch 以确保我抓住了一些可能的边缘情况。这里的问题是:是否有任何边缘情况或者我可以省略 try-catch 吗?

double转换时是否可以并且>= (double)decimal.MinValue仍然<= (double)decimal.MaxValue会导致溢出?

0 投票
1 回答
311 浏览

c# - LinkLabel 中的链接超过 32 个?

我目前正在用 C# 制作一个应用程序,它使用LinkLabels. 我有一个函数可以为某个数组中的每个元素添加一个新链接。但是,该数组恰好有超过 32 个链接,当这种情况发生时,我会收到一个 OverflowException:

System.OverflowException:溢出错误。在 System.Drawing.StringFormat.SetMeasurableCharacterRanges(CharacterRange[] 范围) 在 System.Windows.Forms.LinkLabel.CreateStringFormat() 在 System.Windows.Forms.LinkLabel.EnsureRun(Graphics g) 在 System.Windows.Forms.LinkLabel.OnPaint (PaintEventArgs e) 在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) 在 System.Windows.Forms.Control.WmPaint(Message& m) 在 System.Windows.Forms.Control.WndProc(Message& m) 在System.Windows.Forms.Label.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

有没有办法覆盖该SetMeasurableCharacterRanges功能。这样当字符范围超过 32 个时它不会抛出该错误?这是我的代码示例:

0 投票
0 回答
259 浏览

c# - 将巨大的 XPS 文档页面转换为图像文件

我在尝试将其转换为图像的 XPS 文档上有一个非常大的页面(高和跨数万像素,具有数万个节点和链接)。XPS 文档仅包含一页。

在研究如何做到这一点时,解决这个问题的基本方法(主要基于其他 StackOverflow 问题)似乎是这样的:

在那次调用之后,我没有包含任何用于实际图像编码和文件创建的代码Render,因为它在那个时候失败了。

我没有遇到内存不足异常,因为我将它构建为 64 位应用程序,因为我确实意识到此操作需要相当大的内存块。构建机器上的内存不是问题。

我得到的错误是 a System.OverflowException,说明:

The image data generated an overflow during processing.

此外,在中途我收到一条“ ContextSwitchDeadlock”消息,说明:

The CLR has been unable to transition from COM context 0xfc55d4d8 to COM context 0xfc55d600 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.

我不确定我能做些什么,因为它消失在我没有编写的代码中,我不知道如何解决这个问题。

我的问题基本上是,有什么方法可以将一个或多个巨大页面的 XPS 文档转换为 PNG 图像文件?我试图研究的一件事是使用 RenderTargetBitmap 仅渲染 XPS 页面的小块,然后在最后将所有块连接到一个图像中,但是我无法找到如何做这个,或者如果它甚至可能的话。

0 投票
0 回答
1046 浏览

c# - System.Windows.Forms.DataVisualization.dll 中的系统溢出异常

我遇到了让我发疯的问题——我认为这很容易,以至于我什至无法思考是什么导致了我的问题。

我正在通过串行端口将我的 uC 生成的数据(生成的声波的 fft - 频率和幅度)发送到 PC。

在我尝试使用 MS Chart Controls 绘制数据之前,一切似乎都运行良好 - 如果不绘制图表,则接收数据时不会出现错误。我总是能够绘制一次或两次数据图表,之后我收到如下错误:

System.Windows.Forms.DataVisualization.dll 中出现“System.OverflowException”类型的未处理异常

附加信息:对于 Decimal,值太大或太小。

我检查了数据的值是否超过了“float32”又名 Single 的限制——我什至应用了声明,当它们太高时我将值降低——这是没用的。我的带有recievedata 事件和图表的部分是这样的:

0 投票
1 回答
638 浏览

c# - Decimal.Round() 如何抛出 OverflowException

我在用着

MSDN 说它可以抛出OverflowException https://msdn.microsoft.com/en-us/library/k4e2bye2(v=vs.110).aspx

我不确定这怎么会发生。我尝试使用 ilSpy 查看实现,直到外部实现:

有人知道什么输入会引发此异常吗?

0 投票
1 回答
91 浏览

c# - 无法在新计算机上迁移旧项目

当我尝试在新计算机上迁移旧项目时出现错误。在旧计算机上,数据库运行良好。数据库的内容无关紧要,这就是为什么我没有将旧数据库作为 .bak 文件带到新计算机的原因。它是一个学校项目。

我工作在:

与 2015 年相比。

ASP.NET 核心

这是来自 VS PackedManager 的错误代码:

System.OverflowException:算术运算导致溢出。在 System.Data.SqlClient.SNINativeMethodWrapper.SNIOpenSyncExWrapper(SNI_CLIENT_CONSUMER_INFO& pClientConsumerInfo, IntPtr& ppConn) 在 System.Data.SqlClient.SNINativeMethodWrapper.SNIOpenSyncEx(ConsumerInfo consumerInfo, String constring, IntPtr& pConn, Byte[] spnBuffer, Byte[] instanceName, Boolean fOverrideCache,在 System.Data.SqlClient.SNIHandle..ctor(ConsumerInfo myInfo, String serverName, Byte[] spnBuffer, Boolean ignoreSniOpenTimeout, Int32 timeout, Byte[]& instanceName, Boolean flushCache, Boolean fSync, Boolean fSync, Int32 timeout, Boolean fParallel) Boolean fParallel) at System.Data.SqlClient.TdsParserStateObject.CreatePhysicalSNIHandle(String serverName, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Byte[]& instanceName,1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 次重试,DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 重试)在 Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerDatabaseCreator.Exists(Boolean retryOnNotExists) 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open() 在 Microsoft.EntityFrameworkCore.Migrations 的 System.Data.SqlClient.SqlConnection.Open()。 HistoryRepository.Exists() 在 Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) 在 Microsoft.EntityFrameworkCore.Design.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType) 在 Microsoft.EntityFrameworkCore.Tools.Cli.DatabaseUpdateCommand。< >c__DisplayClass0_0.b__0() 在 Microsoft.EntityFrameworkCore.Tools.Cli.Program 的 Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)。Main(String[] args) 算术运算导致溢出。

我在网上搜索了解决方案,但没有找到我认为可以使用的任何东西。我正在使用 SSMS 2016 最新版本来处理数据库。

很高兴知道我目前在学校工作,在同一台计算机上使用虚拟机。我正在使用 VMWare,并且在虚拟机的 WAC 服务器上安装了 SQL Server Express 2012。我不知道这对我目前的问题是否有任何影响,但我认为你知道的越多,你能提供的帮助就越好。当我处理这个问题时,虚拟机没有运行。

告诉我您是否还想查看我的代码。

0 投票
0 回答
103 浏览

.net - OverFlowException 终止程序。应该是?

在我们的 Windows 服务中,发生 OverFlowException(由第三方 dll)。但是,有一个不错的 try/catch 块可用,据我所知,这不应该终止程序,并且与 StackOverFlowException 相比,它是可处理的异常,后者无法处理并且确实会导致程序终止。正确的?

在事件日志中,我有这个

我试图通过一个测试应用程序来模拟这一点,并捕获了 OverflowException。我想知道,为什么它仍然会终止服务以及为什么不在 try/catch 块中处理它。

谢谢

0 投票
1 回答
1060 浏览

java - Jackson 序列化循环引用堆栈溢出错误

我正在尝试使用杰克逊对象映射器序列化我的 POJO,如下所示,我得到堆栈溢出异常,请对此提供帮助。提前致谢

0 投票
1 回答
49 浏览

python - 将 Python 程序转换为 VB .NET 时出现溢出错误

你好吗?

为了使我正在开发的程序对用户更友好,更容易在 Windows 机器上部署,我正在将一种算法从 Python(效果很好)转换为 VB .NET。

然而,这个算法进行了大量的数字转换(我们说的是 1.0E100+),虽然由于变量自动分配等,一切都在 Python 中无缝完成,但由于它们的大小,我似乎无法在 VB .NET 上操作它们,一直导致OverflowExceptions。

到目前为止,我知道 VB .NET 中可用的最大变量是 Decimal 和 UInt64,但它们绝对不适合我的需要。

我也知道我可以绕过 Visual Studio 中的 OverflowException 检查,但缺点是什么?你会建议我什么线索/想法/解决方案?有什么方法可以像我在 Python 中那样操作这些数字吗?

非常感谢你!

0 投票
1 回答
533 浏览

vb.net - 无法在 Visual Basic 中获得百分比

在将百分比作为程序的一部分时,我不断收到错误消息。

代码如下以及弹出错误的图像。

也是的,是的,我知道我可以增加一些代码行和更少的变量,但此时我很绝望,所以我尝试了任何东西。也对不起我的拼写。

我在下面发布了代码。我希望你能看到我使用的是服务基础数据库。

1