OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

他ファイルで定義された自作例外の受け方

  • すぐに回答を!
  • 質問No.179569
  • 閲覧数76
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 14% (3/21)

他ファイルで定義された自作例外の投げ方と受け方を
教えて下さい。

// ------ Class.java --->
import java.io.*;
public class Class1
{
 static Class2 oClass2;
 public static void main (String[] args)
 {
  try {
   oClass2 = new Class2();
   System.out.println("main");
   oClass2.vfFunc();
  } catch (MyException e) {
   System.out.println("catch MyException");
  } catch (Exception e) {
   System.out.println("catch Exception");
  }
 }
}
// <------ Class1.java ---

// ------ Class2.java --->
import java.io.*;
public class Class2
{
 public Class2()
 {
  System.out.println("Class2コンストラクタ");
 }
 public void vfFunc()
 {
  System.out.println("Class2 vfFunc");
  throw new MyException();
 }
 public class MyException extends Exception
 {
  public MyException()
  {
   System.out.println("MyException");
  }
 }
}
//<------ Class2.java ---
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

「投げ方」と言っているのは、Class2.java のコンパイルが通らないことを指して
いるのですね?

例外を throw するメソッドに throw 句をつけましょう。

>  public void vfFunc()
  ↓
  public void vfFunc() throws MyException

「受け方」と言っているのは、Class1.java のコンパイルが通らないことを指して
いるのですね?

だって、throw される例外が Class2 の inner クラスじゃないですか。

>   } catch (MyException e) {
   ↓
   } catch (Class2.MyException e) {

ということでいかが?  
-PR-
-PR-
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ