teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

確認方法を追記

2015/12/19 08:58

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,6 @@
1
1
  [Exception](http://docs.oracle.com/javase/jp/8/api/java/lang/Exception.html)のクラス階層を見てみてください。[Throwable](http://docs.oracle.com/javase/jp/8/api/java/lang/Throwable.html)を継承していることが解ると思います。
2
2
  > Throwableクラスは、Java言語のすべてのエラーと例外のスーパー・クラスです。このクラス(またはそのサブクラスの内の1つ)のインスタンスであるオブジェクトだけがJava仮想マシンによってスローされるか、Javaのthrow構文によってスローされます。
3
3
 
4
- というわけで、`Throwable`を継承しているが`Exception`は継承していないようなクラス(これも上記ページを見るとわかりますが、例えば標準ライブラリにあるものでは[Error](http://docs.oracle.com/javase/jp/8/api/java/lang/Error.html)継承クラス)がthrowされているのでしょう。
4
+ というわけで、`Throwable`を継承しているが`Exception`は継承していないようなクラス(これも上記ページを見るとわかりますが、例えば標準ライブラリにあるものでは[Error](http://docs.oracle.com/javase/jp/8/api/java/lang/Error.html)継承クラス)がthrowされているのでしょう。
5
+
6
+ `catch (Exception e)` の代わりに `catch (Throwable e)` とすることでcacthできます(ただしここでcatchするのが正しいとは限りません。上に記載したリンク先等を読んで判断してください)。