1

私はAndroid 4に次のコードを持っています:

import org.bouncycastle.jce.exception.ExtCertificateEncodingException;
....
public void method(){    
   try { 
   throw new ExtCertificateEncodingException();

   } catch(ExtCertificateEncodingException e){

   } 
}

コンパイルして実行しました。そして、例外がスローされましたが、キャッチされませんでした。それは私を少し混乱させました。eしかし、調査の結果、 には の代わりにtype com.android.bouncycastle.jce.exception.ExtCertificateEncodingException(またはそのようなもの) がある ことが判明しましたbouncycastle.jce.exception.ExtCertificateEncodingException

そして、私はそれを正確に理解していません。クラスローダーは、私が理解できない魔法を作っていると思います。結局、インポートしたのは: org.bouncycastle.jce.exception.ExtCertificateEncodingExceptionです。

  1. それを理解するのを手伝ってください、説明してください。
  2. クラスローダーが従わず、ロードしないのはなぜですか? (その行動の私の解釈が正しいかどうかはわかりません)。
  3. できない理由import com.android.bouncycastle.jce.exception.ExtCertificateEncodingException
  4. 正確にそれをキャッチする方法は?私は興味がないcatch(Exception e)
4

0 に答える 0