제가 하고자하는 것은 2.2버전의 기기에서는 Code Higher.를 사용하고 2.1버전의 기기에서는 Code Lower.를 사용하게 하려고 하는데

다음과 같이 코드를 짜게 될 경우 2.2에서야 문제가 없지만 2.1에서는 강제 종료되지 않나요?

1.try{
2.2.2코드 실행
3.}catch(ClassNotFoundException e){
4.2.1코드 실행
5.}

1.if(android.os.Build.Version.SDK_INT > 7){
2.2.2코드 실행
3.}else{
4.2.1코드 실행
5.}


이렇게 버전에 따른 실행 관리 조건문을 통해 상위 버전 코드에 대한 접근성을 막아줌으로서 강제 종료를 사전에 막는 방법이 통할까요?

 

구글링을 통해 위 경우에 대한 해결책이 wrapper class(다소 복잡하나 최선), reflection(간단하나 오로지 디버그용)가 있다는 것을 알게 되었고 어떻게 적용해야 하는지 공부중에 있습니다. 그리고 이 방법이 최선책인지 어떻게 해결해나가야 할지 방향성을 잡기 위해 여러분께 도움을 요청합니다.