開発メモ/Java/基礎/独自の例外
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*独自の例外 [#vc7b77cb]
throwsステートメントを使い独自の例外クラスを作成すること...
RuntimeExceptionのサブクラス以外の場合は、作成した例外が...
可能性のあるメソッドすべてで独自の例外を捕獲する必要があ...
''例''
#codeprettify{{
import java.util.*;
class ExceptionSubclass{
public static void main(String args[]){
a();
}
static void a(){
try{
b();
}catch(Exception e){
e.printStackTrace();
}
}
static void b() throws Exception{
try{
c();
}catch(ExceptionB e){
e.printStackTrace();
}
}
static void c() throws ExceptionA, ExceptionB{
Random random = new Random();
int i = random.nextInt();
if (i % 2 == 0){
//独自例外ExceptionAを作成
throw new ExceptionA("We have a problem");
}else{
//独自例外ExceptionBを作成
throw new ExceptionB("We have a big problem");
}
}
}
//独自例外クラスExceptionA
class ExceptionA extends Exception{
public ExceptionA(String message){
super(message);
}
}
//独自例外クラスExceptionB
class ExceptionB extends Exception{
public ExceptionB(String message){
super(message);
}
}
}}
''結果''
ExceptionA: We have a problem
at ExceptionSubclass.c(exceptionsubclass.java:40)
at ExceptionSubclass.b(exceptionsubclass.java:26)
at ExceptionSubclass.a(exceptionsubclass.java:14)
at ExceptionSubclass.main(exceptionsubclass.java...
終了行:
*独自の例外 [#vc7b77cb]
throwsステートメントを使い独自の例外クラスを作成すること...
RuntimeExceptionのサブクラス以外の場合は、作成した例外が...
可能性のあるメソッドすべてで独自の例外を捕獲する必要があ...
''例''
#codeprettify{{
import java.util.*;
class ExceptionSubclass{
public static void main(String args[]){
a();
}
static void a(){
try{
b();
}catch(Exception e){
e.printStackTrace();
}
}
static void b() throws Exception{
try{
c();
}catch(ExceptionB e){
e.printStackTrace();
}
}
static void c() throws ExceptionA, ExceptionB{
Random random = new Random();
int i = random.nextInt();
if (i % 2 == 0){
//独自例外ExceptionAを作成
throw new ExceptionA("We have a problem");
}else{
//独自例外ExceptionBを作成
throw new ExceptionB("We have a big problem");
}
}
}
//独自例外クラスExceptionA
class ExceptionA extends Exception{
public ExceptionA(String message){
super(message);
}
}
//独自例外クラスExceptionB
class ExceptionB extends Exception{
public ExceptionB(String message){
super(message);
}
}
}}
''結果''
ExceptionA: We have a problem
at ExceptionSubclass.c(exceptionsubclass.java:40)
at ExceptionSubclass.b(exceptionsubclass.java:26)
at ExceptionSubclass.a(exceptionsubclass.java:14)
at ExceptionSubclass.main(exceptionsubclass.java...
ページ名: