問題タブ [global]
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# - オブジェクトインスタンスでスローされた例外を「グローバルに」キャッチする方法
現在、winforms アプリケーション (C#) を作成しています。
私が見ることができるかなり標準的なアプローチに従って、Enterprise Library Exception Handling Block を利用しています。IE : Program.cs の Main メソッドで、イベント ハンドラーを Application.ThreadException イベントなどに接続しました。
このアプローチはうまく機能し、アプリケーションの例外的な状況を処理します。
ビジネス オブジェクトの 1 つで、オブジェクト プロパティの 1 つの Set アクセサーでさまざまな例外をスローします。
このアプローチの私のロジックは (これを「いつ例外をスローするか」の議論に変えることなく)、単純に、ビジネス オブジェクトはビジネス ルールの制約をチェックし、必要に応じてバブルアップしてキャッチできる例外をスローする責任があるということです。私のアプリケーションのUIでは、パブリックプロパティが設定されている値を明示的にチェックします(そして、フレンドリーなダイアログなどを表示するアクションを実行します)が、例外をスローすることで、ビジネスオブジェクトが存在する状況もカバーしていることに注意してくださいUI では使用できない場合があります。たとえば、プロパティが別のビジネス オブジェクトによって設定されている場合などです。とにかく、皆さんの考えは理解できると思います。
私の問題は、これらの例外が Application.ThreadException に接続されたハンドラーによってキャッチされていないことであり、その理由がわかりません。
他の読書から、私は Application.ThreadException イベントを実行しましたが、それは「... メイン GUI スレッドで発生した例外をキャッチします」。ビジネス オブジェクトで発生している例外は、このスレッドではありませんか? 新しいスレッドは作成していません。
次のようにコードを更新し、Application.ThreadException に接続されているイベント ハンドラーを明示的に呼び出すと、このアプローチを機能させることができます。これは、Enterprise Library のサンプルで概説されているアプローチです。ただし、このアプローチでは、最初に「グローバル」ハンドラーを使用して回避しようとしていた、try catch でスローされた例外をラップする必要があります。
また、ハンドラーを AppDomain.UnhandledException イベントまで配線して調査しましたが、これも例外をキャッチしません。
最初のコード サンプルで、例外がグローバル例外ハンドラーによってキャッチされない理由を誰かが説明してくれれば幸いです。不足している別のアプローチはありますか、または必要に応じて、上記のように try catch でコードをラップすることに固執していますか?
global - SAS マクロ GLOBAL スコープ
マクロ内で作成されたすべてのマクロ変数をスコープ内でグローバルにする簡単な方法はありますか?
すなわち:
.net - .NET MVC - グローバル設定クラス - これらの方法のうちどれが最適ですか:
システム全体でアクセスする必要がある特定の文字列を格納するための設定クラスを作成しようとしています。以下のコードで globalSettings.cs を作成しました。
現時点では、各コントローラーでこのクラスを次のように初期化しています。
**コンストラクターをプライベートに設定し、シングルトン パターンを実装する必要がありますか?
設定情報を含むコントローラークラスを拡張した方がよいでしょうか?
**
c++ - Linuxのグローバルキーボードフック?
Ubuntu(Linux)でグローバルキーボードフックを作成する方法(Hook for Windowsなど)
C /C++またはPythonの場合
gcc - なぜgccはローカル変数には未使用変数のエラーを出しますが、グローバル変数には出さないのですか?
gccについて質問です。関数で変数をローカルに定義すると、未使用の変数のエラーが発生するのに、変数が一意のファイルでグローバルである場合に発生しないのはなぜですか?.
他の誰かに使用できることは理解できますが、それを行うには、外部の単語を正しく配置する必要がありますか?
前もって感謝します。
c# - Global.asaxのASP.NETC#Application_Errorはセッション変数にアクセスできません
私はすべての例外を追跡し、データベースに必要な情報を書き込み、エラーを修正するためにエラーについて知る必要がある開発者に電子メールを送信するようにエラー処理を設定しています。私が遭遇した問題は、ページが完全に読み込まれる前にエラーが発生した場合です。この場合、追跡したいセッション変数はApplication_Errorで使用できません。したがって、エラー処理でエラーが発生しないように、次のことを行いますが、より良い方法が必要です。また、ページが読み込まれ、フォームの送信時にエラーが発生した場合は、セッション変数を使用できます。
どんな助けでも大歓迎です。ありがとう!
static - グローバルおよびローカル状態を持つ多くのオブジェクト
以下の状況に最適なデザインを探しています。
たとえば額縁など、1 つのクラスから多くのオブジェクトがあります。これで、各額縁に 3 種類の画像を表示できるようになりました。1) 顔 2) スクリーンショット 3) 空っぽ
簡単だ:
これで、異なる画像でいくつかの PictureFrames を作成し、それぞれのモードを簡単に変更できるようになりました。
ここで、すべての PictureFrames にグローバル セッターを追加したいと考えています。次に、新しい各 PictureFrame は、グローバル設定をデフォルトとして使用する必要があります。後で別のスルーに設定できます。
これが私の解決策ですが、より良い解決策があるかどうかについて話し合いたいと思います。
すべての PictureFrame に到達できる PictureFrame クラスに静的フィールド PictureFrame.Instances を追加しました。これで、すべての PictureFrames を繰り返し処理して、新しいグローバル モードをすべてのフレームに適用できます。
In addition I have a second static field PictureFrame.GlobalImageMode where I set the global mode if I change it on all Frames and read it in the Constructor of the PictureFrame. The setter for the GlobalImageMode can be static in the PictureFrame class, too.
python - アプリケーション設定の伝播
おそらく非常によくある質問ですが、まだ適切な答えが見つかりません..
SQLite データベースを多用する (Python w/ C++ モジュール) アプリケーションがあり、そのパスはアプリケーションの起動時にユーザーによって提供されます。
アプリケーションの一部がデータベースにアクセスする必要があるたびに、新しいセッションを取得し、完了したら破棄する予定です。そのためには、明らかに、起動時に提供されるパスにアクセスする必要があります。私がそれが起こっているのを見るいくつかの方法:
1. 明示的な引数
データベース パスは、明示的なパラメーターを介して必要なすべての場所に渡され、データベース セッションはその明示的なパスでインスタンス化されます。これはおそらく最もモジュール化されていますが、信じられないほど扱いにくいようです。
2. データベース パス シングルトン
データベース セッション オブジェクトは次のようになります。
アプリケーションの実行中に変更されない定数文字列のみを保存しているため、これはそれほど害のないシングルトンであると考えています。DatabaseSession
これにより、必要に応じてデフォルトをオーバーライドし、クラスの単体テストを行うことができます。
3. データベース パス シングルトン + 静的ファクトリ メソッド
おそらく、上記よりもわずかに改善されています。
foo.options
この方法では、ファクトリ メソッドを使用しない限り、モジュールはまったく依存しません。さらに、メソッドはセッションキャッシングなどを実行できます。
そして、私が知らない他のパターンがあります。Web フレームワークで似たようなものを漠然と見ましたが、それらの経験はありません。私の例は非常に具体的ですが、他のアプリケーション設定にも拡張されると思います。したがって、投稿のタイトルです。
これをどのように配置するのが最善かについて、あなたの考えをお聞きしたいと思います。
vim - VIM でグローバルを再帰的に使用するにはどうすればよいですか?
「:g-2-g/3/」に何か問題がありますか、それともグローバルの再帰が欠落しているだけですか? エラーの理由がわかりません:
E147: :global recursive はできません
VIM で再帰的なグローバル検索を取得するにはどうすればよいですか?
[オペレータに対するニールの最初の提案 \| ]
欠点は、組み合わせが n 個の数で展開されることです。数字が3つの場合、組み合わせは3通り!(=6) つまり
n 個の数の場合、組み合わせの数は n! です。
[演算子 \& による解決]
Brian Carper と Neil Butterworth が解決策を見つけました。彼らに感謝します!
それはライン全体のためです: