現在、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
}