問題タブ [catch-block]

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 投票する
3 に答える
1241 参照

c# - SQL Select が何も返さないときにエラーをスローしないようにする方法

通常のプログラムフローとしてエラー条件を使用してはならないことをどこかで読みました。私には非常に理にかなっています...しかし

MySQL データベースの上にある C# アプリケーション。文字列値を ID と値の 2 つの部分に解析する必要があります。(元のデータはデボン紀のデータベースから取得されます)、ルックアップ テーブルに対して値を検証します。したがって、元の文字列のいくつかは次のようになります。

「6776 パープルピープルイーター」

『BIK イエローポルカドットビキニ(使用中)』

「DCPデュースクーデター」

したがって、私の小さなユーティリティは、最初のスペースのインデックスに基づいて、各文字列を ID と説明に解析します (幸いなことに、一貫性があります)。次に、ID をルックアップに渡し、新しい値を取得して終了します。

残念なことに、TPTB は、悪臭を放つ黄色の水玉模様のビキニ (現在使用中) はもう必要ないと判断しました。したがって、BIK は行を返しません。コード スニペットを次に示します。

本当に、本当に醜い!特に、catch ブロックで無効な ID をテストする部分。これを処理するためのより良い方法が必要です。

誰かが私を助けることができれば、本当に感謝しています。

ありがとう。

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

c# - コードはデバッガーでのみ実行されています-MSVisualC#

Microsoft Visual C#2008ExpressEditionを使用しています。(そして、申し訳ありませんが、これは厳密なプログラミングの質問というよりも、MS Vis C#のユーザビリティの質問です...)

私は小さなプログラムを書きました。デバッガーを使用してMSVC#で実行すると、すべて問題ありません。「1回クリック」を使用して展開するものを生成し(「Webサイトから」ではなく「CD-ROMから」オプションを使用している)、それを自分のマシン(または別のマシン)にインストールする場合コードの一部が実行されないことを除いて、すべてが順調です。

実行されていないコードは、try/catchループの「catch」部分です。このキャッチをテストできるように、アプリケーションでまだ例外が生成されることがわかっているバグを意図的に持っています。キャッチはGUIを起動し、ユーザーにデータを返送するように要求します。デバッガーでは、これは正常に機能します。スタンドアロンの公開されたアプリでは、これは機能しません。

何か案は?

友人から、展開の「問題」がある可能性があり、Express Editionの展開オプションは限られており、おそらくStandard Editionが必要であると思われるため、「ExpressEdition」を実行していることを指摘します。 。(「1回クリック」の発行方法の代わりにWindowsインストーラーを使用できるため)。

これは意味がありますか?

助けに感謝します!

-Adeena(このMicrosoftの「ビジュアル」の世界を理解するのに苦労している古いコマンドラインUNIX C ++プログラマー)

0 投票する
5 に答える
6417 参照

java - Java の try-catch ブロック - catch コードの実行ステートメント

Java の catch ブロック内のステートメントの実行順序について質問があります。次のクラス Test1 (以下を参照) を実行すると、最初に Hi! が出力され、次に e.printStackTrace(); の結果が出力されると予想されます。ステートメント、そしてさようなら!しかし、私はこの注文を決して受けません。以下に貼り付けた出力を見てください。

出力 1:

出力 2:

2 つの質問があります。

1.) より重要な質問: なぜ私はいつもこんにちは! そしてさようなら!コード内の mye.printStackTrace() がそれらの間にあるにもかかわらず、常に次々に印刷されますか?

2.) Hi! の前に e.printStackTrace() ステートメントの出力が表示されることがあるのはなぜですか。? プログラムを何度も実行しましたが、どのような状況でどちらの印刷が行われるのか理解できません。

ありがとうございました。

Java 6 と Eclipse (Ganymed) を使用しています。

0 投票する
7 に答える
3521 参照

java - Java での例外のキャッチ

Java には特定の事前定義された例外があり、スローされた場合、重大な問題が発生したことを報告し、catch ブロックでそれらをキャッチするよりもコードを改善する必要があります (私が正しく理解している場合)。それでも、次のようなプログラムがたくさんあります。

IOException と FileNotFoundException はまさにそのような種類の例外であり、catch ブロックでキャッチすべきではないと思いました。なぜ人々はこれを行うのですか?このまま捕まえたほうがいいの?とにかく、Java コンパイラーはその種の問題について警告します。

ありがとうございました。

0 投票する
8 に答える
8122 参照

c# - C# では、try、throw、catch ブロックのパフォーマンス ヒットの程度

まず、免責事項: 私は他の言語での経験がありますが、まだ C# の機微を学んでいます。

問題について...私は、try / catchブロックを私に関係する方法で使用するコードを見ています。解析ルーチンが呼び出されると、エラー コードを返すのではなく、プログラマーは次のロジックを使用しました。

これは、同じエラーをスローする呼び出し元によってキャッチされます ...
... 同じエラーをスローする呼び出し元によってキャッチされます ...
..... 同じエラーをスローする呼び出し元によってキャッチされます...

約6レベルバックアップします。

これらすべての catch/throw ブロックがパフォーマンスの問題を引き起こしていると考えるのは正しいですか、それともこれは C# での合理的な実装ですか?

0 投票する
6 に答える
2765 参照

.net - catch ブロックの return ステートメント

一部の開発者が catch ブロックで return ステートメントを使用しているのを見てきました。なぜ/いつこれを採用するのに役立つテクニックですか?

編集:実際に return キーワードが使用されているのを見ました。

ありがとう

0 投票する
3 に答える
584 参照

c# - catchブロック内のcatchステートメントの順序に関する質問-コンパイラ固有または言語標準?

現在、Visual Studio Express C ++ 2008を使用していますが、キャッチブロックの順序についていくつか質問があります。残念ながら、インターネットで答えが見つからなかったので、専門家にこれらの質問を投げかけています。

catch(...)がcatchブロックの最後に配置されていない限り、コンパイルはエラーC2311で失敗することに気付きました。たとえば、次のようにコンパイルされます。

次はしませんが:

a。これがC++言語標準で定義されているのか、それともMicrosoftコンパイラが厳密であるだけなのかを尋ねることはできますか?

b。C#とJavaにも同じルールがありますか?

c。余談ですが、基本クラスと派生クラスを作成し、派生クラスのcatchステートメントの前に基本クラスのcatchステートメントを配置することも試みました。これは問題なくコンパイルされました。そのような慣習を防ぐ言語基準はありませんか?

0 投票する
4 に答える
97 参照

.net - .Net:CRUD操作を開発するときのtry-catchブロックの「Catch」セクションでの自信のあるアプローチは何ですか?

.NetでCRUD操作を開発するとき(特にデータベースをデータソースとして使用するとき)、try-catchブロックのcatchセクションで使用するための自信のあるアプローチがあるかどうか疑問に思いました。

さて、以下の行についてどう思いますか?

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

android - catch ブロックで使用するとトーストが表示されない

catch ブロック内でトーストを使用すると、トーストが表示されないことに気付きました。例外をキャッチするときにトーストを表示する方法を知っている人はいますか? 例:

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

javascript - スローされた値に応じてどのように処理しますか?

MDCはこれを行うように言っていますが、FireFoxの拡張機能だと思っているとも言っています。

ライブコード: http: //jsfiddle.net/vQsUX/

すべてのブラウザで機能する同様のことをどのように行うことができますか?