現在、play2 フレームワークを使用しています。
スローしているクラスがいくつかありますがexceptions
、play2s グローバルonError
ハンドラーは例外ではなくスロー可能を使用します。
たとえば、私のクラスの1つがNoSessionException
. スロー可能なオブジェクトが である場合、そのオブジェクトをチェックできますNoSessionException
か?
instanceof
かどうかを確認するために使用できますNoSessionException
。
例:
if (exp instanceof NoSessionException) {
...
}
参考exp
になると思いThrowable
ます。
NoSessionException である場合、スロー可能なオブジェクトをチェックできますか?
もちろん:
Throwable t = ...;
if (t instanceof NoSessionException) {
...
// If you need to use information in the exception
// you can cast it in here
}
Throwable
はクラスでありException
、その結果、そのすべてのサブクラスがサブクラスになります。instanceof
での使用を妨げるものは何もありませんThrowable
。
かどうかを確認することに加えてinstanceof
、try catch および catch NoSessionException を使用できます。
try {
// Something that throws a throwable
} catch (NoSessionException e) {
// Its a NoSessionException
} catch (Throwable t) {
// catch all other Throwables
}