締切済み プログラムの例外処理について 2010/04/21 18:37 プログラムの例外処理について プログラムの例外処理で質問です。 みんなの回答 (1) 専門家の回答 みんなの回答 taka451213 ベストアンサー率47% (436/922) 2010/04/22 03:56 回答No.1 こんばんは はい、何でしょう? 私がわかる範囲でお答え致します。 通報する ありがとう 0 広告を見て他の回答を表示する(0) カテゴリ [技術者向] コンピュータープログラミング・開発Java 関連するQ&A 例外処理について C++初心者の者です。例外処理について質問があります。 例外処理の利点が明確に分かりません。 例外処理を使わなくても、if文でエラーを検出して、 エラー処理をすれば良いではないかと思ってしまいます。 例外処理が有効な状況を教えて頂ければ幸いです。 何卒、宜しくお願いします。 vb プログラムの起動と例外処理 はじめまして プログラムの実行と例外処理に関して質問させていただきます。 現在,visual basic2005でプログラム(A)からvbで作成した別のプログラム(B)に引数を指定してから起動し,別のプログラム(B)が例外処理に関する方法を調べています。 プログラム(B)起動時に例外処理を用い,以下のようなエラーメッセージを表示させるにはどういった処理を構成すればよいでしょうか。 パス名が設定されていない場合,”ファイルのパス名が見つかりませんでした” 引数が指定されていない場合,”引数が指定されておりません” 原因が特定できないエラーが発生した場合,”原因不明のエラーが発生しました” プログラムの実行にはShellメソッドとSystem.Diagnostics.ProcessクラスのStartメソッドがあるという事がわかりましたが,上記2つのメソッドが自分の意図したい操作に適しているかまでは理解におよんでおりません。 まだプログラミングを始めたばかりという事もあり,右も左もわかりませんが,ご教授お願い致します。 例外処理があまり使われない理由について C++でのプログラミングに関して質問です。 只今勉強中で色々な方のソースを拝見していますが、 参考書や解説サイトにはよく載っている「例外処理(tryとかcatchとか)」を記述したソースを殆ど見ないのですが、 例外処理は使わない方がいいのでしょうか? (処理速度が遅くなるとか、gotoのような暗黙の使ってはいけない理由があるのですかね?) 私自身も面倒なので例外処理は今まで書いたことがないのですが、 例外処理を記述する癖をつけた方がいいでしょうか? C# の例外処理について こんにちは。 C#の例外処理について質問させてください。 ある関数の内部において、一般的な例外をユーザー定義の例外に変えて投げ、 この関数の利用者には必ずそのユーザー定義の例外を処理するよう強制したいと思っています。 しかし、C#で関数の利用者に例外処理を強制させる方法が見つかりません。 そもそも、関数の利用者からは、その関数でどのようなユーザー定義の例外が投げられるかすらわからないように思います。 正しくcatchするには関数の中身を追うしかない?と疑問に思っています。 C#ではこのような場合、どうするのが一般的なのでしょうか? Javaでは例外処理の強制は簡単なので、構文が似てるだけに不思議に思っています。 基本的な仕様の見落としだったら申し訳ありませんが、よろしくお願いいたします。 例外処理 デバッグをしてみました。 すると,try・catch文までしか実行されていないことがわかりました。 public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } 例外処理について調べてはみたものの、なぜこの部分で実行が止まってしまうのか、 解決につながるようなことが,みつかりません。 1.例外処理はどのような処理なのか 2.なぜ、try・catchで実行が終了してしまうのか 教えてください。 pictureBoxの例外処理 VC++2010Expressを使用しています。 pictureBox1->ImageLocation = "○○.jpg"として、画像を表示しています。ただし、おそらく、この画像ファイルにやや損傷があるため、次の2つの事象のいずれかが発生しています。 1)画像は表示されるものの例外が発生する(VSの出力ウィンドウに表示される。) 2)例外が発生して、プログラムが落ちてします。 これらを回避する方法を教えてください。例外処理に詳しくないので具体的方法を宜しくお願い致します。 VBSの例外処理について VBScriptの例外処理は構文エラー以外にどんなものがありますか? できる限りでいいので教えていただけないでしょうか?? また、VBScriptの例外処理が発生した時に戻り値(%ERRORLEVEL%)が0になるのは何故でしょう? ※後者は素朴な疑問なのでスルーしても結構です。もしご存知でしたら教えてください。 ざっくりとした質問ですが、ご回答宜しくお願い致します。 「例外OE・・・」と「このプログラムは不正な処理を・・・」 最近PCの調子が悪いのでアドバイスお願いします。 PCはNECのVALUESTARでOSはWin98です。PC起動時の途中でブルーの画面になり「例外OE・・・」の文字が現れ何度か再起動し、ようやく使えるようになったのもつかの間、今度はホームページを見ていると「このプログラムは不正な処理を・・・」の文字が出て強制終了されてしまいます。メモリー不足かとも思いましたが空きは60%ほど残っているようです。PCが思うように使えず最近、疲れます。宜しくお願いします。 C++の例外処理について C++にjavaのような例外処理ができるのを知りました 構文は try { stat1 } catch(except-decl) { stat2 } finally { stat3 } stat4 ただし stat1:例外が発生する可能性があるステートメント stat2:例外が発生したときに実行するステートメント stat3:例外が発生しなくても実行するステートメント stat4:ステートメント except-decl:捕獲する例外の宣言 です ここで質問です (1) 冷害が発生したときstat4は実行されるのでしょうか? されない場合にはその後どう言う処理がなされるのでしょうか? (2) except-declはどうのような記述がなされるのでしょうか? (4) 例外を発生させる構文 throw except (except:発生させる冷害) のexceptの部分にはどのような記述がなされるのでしょうか? よろしくお願いします 例外処理の書き方がよく分かりません。 例外処理の書き方がよく分かりません。 普通に書くと↓の(2)のところでエラーが出てしまうと思うのですが、こういった場合の例外処理の書き方が分かりません。 (1)の前に、 if(s2.length == 1) return; を書けば、エラーにはならないと思います。しかし、try catchやthrowsするのが普通のような気がしており、書き方が分かりません。 String str = "inu,neko"; String str2 = "inu"; String[] s = str.split(","); String[] s2 = str2.split(","); s[1].length(); s2[1].length();//(1) 例外処理についてお願いします!! 下のプログラミングについていくつか質問があります。 (1) プログラムの冒頭に来るpublic static void main(String[] args)を今まで気にしていなかったのですが これはどういうことですか?これもメソッドのひとつなんですか?このプログラムではpublic static void main(String[] args)でメソッドを定義してそれをetest( )メソッドで開いているという感じでしょうか? それとetstってどこから来たのかわかります?作者が勝手につけた名前だそうですが。 (2)FileReader fr = new FileReader("xfile.txt"); のところがわかりません。これはどういう意味ですか? public static void main(String[] args) { public static void etst( ) { try { // try節を書く FileReader fr = new FileReader("xfile.txt"); } catch (FileNotFoundException e) { // FileReader( )対応catch節 System.out.println("例外1: " + e); // 例外情報を表示 return; // 戻る } catch (IOException e) { // Close( )対応catch節 System.out.println("例外2: " + e); // 例外情報を表示 return; // 戻る } System.out.println("ファイルは正しくオープンされました"); } } } よろしくお願いします!! PHPのセグメンテーション違反に対する例外処理について PHPのセグメンテーション違反に対する例外処理について 再帰呼び出しのプログラム(error_seg.php)を作成し、Linuxのシェルで $ php error_seg.php と実行しました。 実行環境: PHPのバージョン:5.2.10 Linuxのバージョン:2.6.18-164.15.1.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Mar 17 11:37:14 EDT 2010 プログラムは下記の通りです。 <?php $cnt=0; function func(){ global $cnt; $cnt++; print $cnt . "回目の呼び出し\n"; func(); } try{ func(); }catch(Exception $e){ echo "例外発生:" . $e->getMessage()."\n"; } ?> ※このプログラムは、 http://d.hatena.ne.jp/syonbori_tech/20090414/1239717538 のサイトを参考にして作りました。 この結果、 1回目の呼び出し 2回目の呼び出し ・・・ 26187回目の呼び出し 26188回目の呼び出し セグメンテーション違反です と表示され、セグメンテーション違反を再現させました。 ※何回目でセグメンテーション違反が発生するかは、 その都度異なります。 プログラム中で、try-catchの例外処理を入れたのですが、 例外処理されないようです。セグメンテーション違反に対して 例外処理をすることはできないのでしょうか。 できるとすれば、どのように記述をすればよいでしょうか。 例外処理に関して 質問なのですが、よろしくお願い致します。 ファイルに空白行があった場合、任意に例外を発生させることをしているのですが、 (例外処理内容:ファイルにログを出力する) 例外が2回キャッチされているようで、2回目にファイル(ログファイル)は既に開かれています。というエラーが出ますが、以下のソースでは、呼出元と呼び出されたメソッドともに例外を処理してしまうのでしょうか? また、どう改善したらいいでしょうか? ご教授よろしくお願い致します。 呼出元 public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Try Dim cls As New testClass cls.timer1() Catch e as Exception 'ログファイル出力 End Try End Sub 呼び出されるメソッド Public Sub Timer1() try FileOpen(1,"ファイルパス",OpenMode.Input) if Trim(LineInput(1)) = "" Then FileClose(1) Throw New Exception End If Catch e as Exception 'ログファイル出力 End Try End Sub VB2015 例外処理について Windows10、VS2015 Community上で、 以下の文で例外処理が発生しました。 PctureBox1.Image.Save("C:fileName.png) この処理は、PictureBox1.Image に画像を内製したものを一度HDDに保存し、 すぐにこのFileを読み込み、別の用途に供するために使います。 これを何度か繰り返していると、以下の例外処理(添付画像1)が発生して、 処理は中断されます。私には、この画像から例外の理由を判断することは 出来ませんでした。 そこで、例外処理を以下のように設けました。 Try PctureBox1.Image.Save("C:fileName.png) Catch ex As Exception System.Console.WriteLine(ex.Message) End Try この結果、処理は、継続され結果的には正しく終了しました。 ただし、例外処理を捕捉した時のMSGは以下の通りです。 'Plan2016.vshost.exe' (CLR v4.0.30319: Plan2016.vshost.exe): 'C:\WINDOWS \Microsoft.Net\assembly\GAC_MSIL\System.Drawing.resources \v4.0_4.0.0.0_ja_b03f5f7f11d50a3a\System.Drawing.resources.dll' が読み込まれました。 モジュールがシンボルなしでビルドされました。 ということで、例外処理を挿入したことにより、処理は最後まで出来ましたが、 このままで終了するには、寝覚めが悪いです。 考えられる問題と、これを回避する方法をご教授頂きたくお願いいたします。 PHPの例外処理 PHPの例外処理について教えてください function test() { try{ $a = 10; $b = 0; $result = $a/$b; } catch(Exception $e){ //エラー処理 } } 上記でcatchが実行されるためにはどのようにすれば良いでしょうか?例えば if($b == 0) { throw new Exception('例外'); } を「$result = $a/$b;」の前に書いておくなどすればcatchされるのはわかりますが、 想定されるすべての例外のthrow処理を記載するなんてことはしたくありません。 実行してエラーだったら自動的にthrowされる、なんていうことはPHPでは無理でしょうか? C++の例外処理 お世話になります。 現在C++でプログラミングを行っていますが、例外処理で困っています。 次のようなコードを書きました。 try{ m_Session.DestroyDatabasePool(); }catch(CException e){ m_Share.WriteLogFile("キャッチ中", LOG_INFO ); } しかし、これだとcatchが行われず、catch(CException e)部分を(...)にすると例外処理が実行されます。 例外の詳細を知りたいので、どうしても(CException e)で行いたいです。 説明が不十分かもしれませんが、何かご存知でしたら、ご教授お願いします。 例外処理について分かりやすい入門書 Java言語プログラミングレッスン (下)結城浩で java を勉強しています。全般にいろいろ勉強になったのですが、「例外」の章がいまいちよく分かりませんでした。 例外処理について分かりやすい入門書があったら紹介していただけないでしょうか? 本やネットの情報は、なぜ例外処理は省かれて書かれているのですか? 本やネットの情報は、なぜ例外処理は省かれて書かれているのですか? 例外処理って企業秘密ですか? それとも、書いている人は例外処理に自信がないのですか? Javaの例外処理の書き方について Javaの例外はErrorとRuntimeExceptionは書かなくてもいいが、 Exceptionはtryでcatchする必要があると聞きました。 しかし、java.langのStringを使っても例外処理は書きません。 なぜ、例外を書くやつと書かないやつがあるのですか? たとえば、java.langを使うとしたら、 ClassNotFoundException CloneNotSupportedException Exception の3つをjava.langを使うメソッドのブロックの上にtry文が必要だと思うのですが。 例外処理throws 例外処理ではthrowsかtry~catchを使いますよね。 で、ほとんどの場合はtry~catchを使うようで、ほとんどthrowsを使った例しかなく(まあ、throwsでの例外処理はプログラムが停止してしまうので推奨できないでしょうが)よくわから中区なってしまったので教えてほしいです class Input{ int set(String Toi)throws IOException{ System.out.println(Toi); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int a = Integer.parseInt(str); return a; } } のようにInputクラスを用いて外部からこれを使うために Input input = new Input(); x1 = input.set("x座標を入力"); とすると、「キャッチかスロー宣言をしろ」と怒られてしまいました。(コンパイルエラー) この場合どうすればいいでしょうか?