問題タブ [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.
c# - WM_KEYUPメッセージをウィンドウに送信すると、OverflowExceptionが発生します
特定のキーを押し続けた場合に送信されるウィンドウに同じメッセージを送信するプログラムを実装しようとしています。これは、アプリケーションのコードの一部です(Form1.csコード全体はここにあります)。
コード内のWM_KEYUPSendMessageに到達すると、プログラムがクラッシュし、エラーが発生します。
このエラーを修正するにはどうすればよいですか?WM_KEYUPの前に4つのSendMessageが呼び出され、1つは正常に機能し、2文字の「a」をメモ帳に送信します。
返信ありがとうございます
c# - 結果が int.MaxValue より大きい 2 つの大きな整数を追加しても、オーバーフロー例外がスローされないのはなぜですか?
プログラムで次のループを使用している場合、C# 4.0 ではループが終了しません。
これは、int.MaxValue (2147483647) に 1 を追加してもオーバーフロー例外にはならず、-2147483648 になるためです (32 ビット int と 2 の補数を考慮して)。
最近、挙動が変わったようです。算術演算が OverflowException を引き起こしたという質問を参照してください。この変更の背後にある理由は何ですか?
c# - 再帰スタックサイズ?
上記のサンプルを呼び出すと、再帰関数を取得して StackOverflowException をスローするのはなぜですか。
(デフォルトの再帰スタックサイズを超えているため?)
しかし、私はこの問題をどのように解決するのだろうか.
ありがとう。
.net - 10進数からバイトへの変換ではOverflowExceptionsが発生するのに、uintからバイトへの変換では発生しないのはなぜですか?
誰かが私が見ている OverflowException を説明できるかどうか疑問に思っています。
次のコードを検討してください。
最後の行でのみ OverflowException を取得します( adecimal
を aにキャストする場合byte
)。uint
の同じ値を にキャストすると、取得できませんbyte
。
なぜそうなのか理解できません。助言がありますか?
mschart - MSChart で NaN 値を使用すると、オーバーフロー例外が発生する
MSChart を使用してアプリケーションをプロットするリアルタイムで作業しています...いくつかの y 値を設定する必要がありますNaN
が、オーバーフロー例外が発生しています。これが発生するコードの部分は次のとおりです。
Invokes はクロス スレッドの問題を回避するためにあります。
例外を取得しないためにどうすればよいか考えていますか? 呼び出しの直前に unchecked キーワードを使用してみましたSetValueY
が、何も変わりません。
c# - データ テーブルにコピーするときに、値が Int16 に対して大きすぎるか小さすぎます
Q:
次のコード:
例外をスローします:
Int16 の値が大きすぎるか小さすぎます。emp_num 列に <103930> を格納できませんでした。予想される型は Int16 です。---> System.OverflowException: 値が Int16 に対して大きすぎるか小さすぎます。
c# - SQLCLRプロジェクトでのSqlDecimalの問題
SqlDecimalsを使用すると、予期しない結果が発生します。結局、2つのSqlDecimalsを分割するとき、問題をスケーリングするために要約するようです。
c#のサンプルコードは次のようになります:
SQLテストコードは次のようになります。
2番目の選択では、次のエラーが返されます。
Webを検索すると、SqlDecimalをDecimalに変換するときの丸め誤差に関連する問題がたくさん見つかりましたが、私の場合は、それを正確に避けたかったので、最初から最後まですべてSqlDecimalです。同様に、結果がSQLでネイティブに実装された方法と同じになることを「期待」しますが、残念ながら。オーバーフローしない場合でも、「border-cases」で異なる結果が得られます。
誰かがこれを修正する方法、または少なくともそれを回避する方法について何かヒントがありますか?SqlDecimalは内部で(.Net)Decimalsを使用しているため、3バイトの情報を詰め込むことができませんか?!?!?
PS:numeric(p、s)のどの組み合わせが関数に渡されるかを予測することはできませんが、38,8は「許容可能」です。私は、元のUDFのより高速なSQLCLRバージョンを作成することを望んでいました(これは、btw =を除算するだけではありません)。確かに、それは大丈夫ですが、同じ範囲の数値で機能するはずです。
.net - WinAPICodePack の TaskDialog が .NET 4.0 で機能しない
私はアプリケーションを作成していて、TaskDialogIndirect
関数を使用したかったのですが、大量の P/Invoke などを書きたくなかったので、WinAPICodePack を含めました。ただし、問題が 1 つあります。のコントロールを作成TaskDialog
してダイアログに追加すると、すべて正常に動作します。ただし、Show
メソッドを実行するOverflowException
と、mscorlib が発生します。これを追跡して、いくつかのポインター処理とマーシャリングにたどり着きました。
コードを試してみると、DLLを .NET 3.5 およびインクルード アプリTOO用にコンパイルする必要があることがわかりました。アプリを .NET 4.0 で使用すると、このエラーが発生します...回避策についてのアイデアはありますか?または、このエラーを再現できますか?
もう 1 つの問題は、Icon
プロパティを好きなように設定できることですが、アイコンがまったく表示されません。Opened
アイコンを動的に設定するイベントをセットアップする必要があります...
情報: Windows 8 Pro x64 RTM で Visual Studio 2012 RTM を実行しています。アプリケーションは標準の WPF アプリです。
サンプルコード:
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() 呼び出しの代わりに、このようなメソッドを使用する必要がありますか?
c# - これでオーバーフロー例外が発生しないのはなぜですか?
LinqPad を使用して何かをテストしていたところ、次のコードが例外を生成しなかったことに驚きました。
これにより、次の出力が生成されます。
幸いなことに、私はこの動作を望んでいましたが、これによりOverflowException
がスローされると想定していました。
次の条件下では、実行時に OverflowException がスローされます。
- 算術演算は、演算によって返されるデータ型の範囲外の結果を生成します。
- キャストまたは変換操作で縮小変換を実行しようとしましたが、ソース データ型の値がターゲット データ型の範囲外です。
lSmallValue - lBigValue
操作が最初のカテゴリに分類されないのはなぜですか?