問題タブ [keyboardinterrupt]

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 に答える
1321 参照

exception - KeyboardInterrupt Exception が動作することがありますか?

私はこの単純な python スクリプトを持っています:

Python 3.2.3 でスクリプトを実行すると、Ctrl-C キーボード例外が常にキャッチされるわけではありません。実際、任意の時点でプログラムから Ctrl-C を実行しようとすると、エラー メッセージが異なります。以下は、スクリプトが 3 回連続して実行されたときのコンソールの出力です。

前回はうまくいきました。どうしてたまにしか効かないの!? 私は何を間違っていますか?

0 投票する
1 に答える
4793 参照

assembly - アセンブリ言語 8086 キーボードとマウスの割り込み

マトリックス プログラムにキーボードとマウスの割り込みを実装して、キーボードのいずれかのキーが押されたとき、および/またはマウスが動かされたときに、決して終わらないマトリックス プログラムを終了させる方法を理解するのに苦労しています。マウスのボタンが押されました。

ここに私のマトリックスコードがあります:

私の教授が私にくれたキーボード割り込みコードは次のとおりです。

私の教授も私にくれたマウス割り込みコードは次のとおりです。

したがって、基本的には、キーボードとマウスの両方の割り込みコードを 1 つに結合する必要があります。これにより、私のプログラムを実行している誰かが、キーボードのキーを押すか、マウスを動かすか、マウスのボタンをクリック (左クリック、右クリック) することでプログラムを終了できるようになります。クリック、および中央ボタン)。

キーボード ターミネーションの部分については、コードの「Loop2: ;Matrix コードはここにループ Loop2 を挿入する」セクションにコードを貼り付けるだけでよいと教授が言ったと思いますが、彼の言葉を聞き間違えただけだと確信しています。彼は、コードをそのループに貼り付けて、キーボードのキー入力をチェックする必要があると言うつもりだったと思いますが、入力(mov ah 7h/1h、int 21h)をチェックする方法を知っている方法ではないことを知っているので、混乱していますその部分で。

マウス割り込み部分に関しては、私の教授が必要なものをすべてくれたようで、コードをマウス割り込みコードの「;マトリックスコードがここに入る」セクションに貼り付けるだけです。これが正しくない場合はお知らせください。可能であれば説明してください。可能であれば、マウス割り込みを機能させるために必要なものを例を挙げて説明してください。

0 投票する
2 に答える
3196 参照

python - Python で Selenium Webdriver セッションを閉じずに「KeyboardInterrupt」をキャッチする

Python プログラムは、Selenium WebDriver を介して Firefox を駆動します。コードは次のようにtry/exceptブロックに埋め込まれます。

エラーが原因でプログラムが中止された場合、WebDriver セッションは閉じられないため、Firefox ウィンドウは開いたままになります。しかし、プログラムがKeyboardInterrupt例外で異常終了すると、Firefox ウィンドウが閉じてしまいます (WebDriver セッションも解放されるためだと思います)。これは避けたいと思います。

"Caught exception"どちらの場合もメッセージが表示されるため、両方の例外が同じハンドラーを通過することがわかります。

で Firefox ウィンドウを閉じないようにするにはどうすればよいKeyboardInterruptですか?

0 投票する
1 に答える
2333 参照

python - スレッド内の Python DBusGMainLoop と try および catch ブロック

現在、GObject.MainLoop() を使用して Bluetooth クライアントと通信する必要がある Python スクリプトを作成しようとしています。残りのコードをブロックしないように、ループを新しいスレッドに入れました。

Control + C でプログラムを終了しようとするまで、すべて正常に動作します。このコマンドを実行すると、2 番目の try and catch ブロック ("Host:...") が実行されないようです。

スクリプト例:

スクリプトの出力:

なぜ「print("Host: KeyboardInterrupt")」が実行されないのか疑問に思っています。さらに、記載されている警告を解決する方法がわかりません。

あなたが助けてくれることを願っています!

0 投票する
1 に答える
364 参照

python - 特定のキーのキーボード割り込みを使用して、python スクリプト内のオブジェクトを変更する方法は?

マルチスレッド スクリプトを終了するために KeyboardInterrupt を調べた後、キーボードの上下キーを使用して、使用されているスレッドの数を増減できるかどうか疑問に思っていました。これは、いつでも発生できるように、KeyboardInterrupt と同じ方法で発生することを願っています。このようなことは可能ですか、またはこれにより適した別の方法はありますか?