質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

5回答

11122閲覧

C# try catchの動作

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2016/07/04 08:32

try-catchを使っていてどういう処理をしてやればいいのかわからないのでお願いします。
tryの中にさらにtry-catch-finaryを置いてあり、中のcatchでエラーに対する処理をした後に次の
catchを通らずに抜けるようにするにはどうしたらいいでしょうか。
今の状態では中のtry-catch-finaryを通って、catchへと進んでしまいます。

try { try {} catch {} finary {} } catch {}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/07/04 08:52

どのような例外が発生したのか、それぞれのcatch文で補足する例外をどう記述しているのかを具体的に書いては如何ですか? ”catch (Exception e)”のように、どんな例外でも補足するよう書いてあれば、外側のcatchには達しないはずです。
guest

回答5

0

?おかしいですね。try~catchをネストした場合、内側でcatchした例外はその外側ではcatchされないはずです。内側のcatchでさらにthrowした場合や内側でcatchできなかった例外は外側でcatchされます。厳密に言うと、外側のcatchで指定しなかった例外はさらにその外側へと飛んでいきます。
もう少し具体的にどのような例外を発生させて、どのようなcatchをしているのかを書いていただければわかると思います。

投稿2016/07/04 08:40

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

catch で受け取るべき例外の種類や条件を指定しましょう。

https://msdn.microsoft.com/ja-jp/library/0yd65esw.aspx

投稿2016/07/04 08:34

編集2016/07/04 08:37
thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

みなさん、いろいろと助言ありがとうございます。
どうやらtry-catchの中でやるべき処理をおかしな書き方でやっていたがために
外側のcatchまでとんでしまっていたようです。
中身を修正したらしっかり動きました。

投稿2016/07/05 03:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

try catch 握りつぶす
で、検索してみてください。
適切に使ってください。

せっかくですから、
検索ワード:
Using 使え
using 使えったら使え
でも検索してみてください。
⇒Try Catch を使わない方が良い例なども検索できます。

投稿2016/07/04 08:51

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

今の状態では中のtry-catch-finaryを通って、catchへと進んでしまいます。

デフォルトでは、内側でcatchされたら、外側ではcatchされないはずです。
内側のcatch以降で再度throwしてませんか?
もしくは、エラー処理や後続の処理をミスして異なる例外が発生しているということはないでしょうか?
例外でブレークするよう設定して、該当箇所をデバッガで実行すると分かりやすいと思います。

投稿2016/07/04 08:45

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問