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