秘密のスーパースター:
私は以下のクラスがあります。
私は手動で使用してクラスをコンパイルしているのjavacをして走ったDriver
クラスを。
その後、削除entity.class
してMyCustomException.class
、以下のようなアプリを実行しました。
Javaドライバテスト
エラー以下不満さMyCustomException
については欠けますがされていないEntity
クラス。JREが不満なぜ、クリアしないMyCustomException
クラスではなくEntity
クラス。
確かに私は、コードを削除したthrow new MyCustomException();
が、私はついてない出会いエラーをしたEntity
クラス。
Caused by: java.lang.NoClassDefFoundError: com/techdisqus/exception/MyCustomException
ので、予めご了承くださいIF条件はなりませする実行私のようにコマンド引数を渡していて、テスト
なぜそれが例外をスローしてロードするために引き起こしているMyCustomException
実行されないことになるが、条件が満たされない限り、JVMはこことして、他の定期的なクラスをロードしないEntity
クラスここに。ご確認くださいDriver.java
以下。
MyCustomException.java
public class MyCustomException extends RuntimeException {
}
Entity.java
public class Entity {
}
Driver.java
public class Driver {
public static void main(String[] args) {
String s = args[0];
if("true".equals(s)){
Entity entity = new Entity(); // This is not loaded, unless s is true
throw new MyCustomException(); // this is loaded even s is NOT true.
}else{
System.out.println("success");
}
}
}
手伝ってくれてありがとう