일반적으로 Try에서 에러가 나면 Catch를 수행한다.

다만 특정 경우 마치 소스 Compile 관련 Validation이 제대로 되지 않은 것처럼 수행되기도 한다.

포럼에서는 pick 같은 액티비티를 썼을 때 일어나는 경향이 있다고 하는데

실제로 여기서 발생한 케이스는 Switch였다. [동시 컨디션 체크라는 공통점]

Try Catch의 Try 안에 Switch가 있고 Switch의 내부에 Try Catch가 또 있는 상태.

디버그로 돌리는 경우 Assign 자체를 들어가지 못 하고 Switch 내부의 Catch에 대한 에러 메세지를 출력했다.

 

실제 에러가 나는 부분은 Switch 내부의 Try Catch 안에 Try에는 Assign쪽이었다.

Switch 컨디션의 변수 상태에 따라 해당 Assign이 에러가 나는 케이스였다.

 

해결은 Assign이 에러나지 않도록 null인 경우 기본값을 가진 string을 부여하도록 변경함.

 

** 개발을 굳이 저렇게 할 필요가 없는데 너무 많이 Try Catch를 겹쳐놓은 소스였음

+ Recent posts