하루마다 올리는것같네..
이번 업데이트는 역시나 버그픽스인데, "왜이리 고쳐야할 버그들이 있나요" 라고 생각하실 수도 있지만..
이번 오류는 상당~~~~~히 적은 발생률을 보이는 오류로, 앱보다는 기기상의 예외로 발생할 수 있는 오류!!
이런것마저 고쳐내고 싶은 욕구로 고쳐보게 되었다..
이번 오류는 illegalArgumentException 이다. 물론 이 예외는 잘못된 값을 전달받았을 때에 발생하는 예외인데,
프로그램 상에서 의도하지 않는 값이 기기상의 일시적 문제로 전달될 경우가 생기는 것을 캐치하였고 이를 비정상 종료로 이어나가지 않게끔 보완해줬다. 음 어쩌면 매우 매우 어렵겠지만 이런것마저 처음부터 생각해냈어야 했겠지만... 하지만 그렇게 생각해보면 잠재적으로 예외발생 구역은 너무나도 많기에 프로그램을 만들 때 마다 코드의 모든 곳에 예외처리를 해줘야 할지도 모른다... 그것은 낭비일지도..
어쨌든간에 이렇게 오류발생구간을 캐치한 뒤 처리했다는게 중요한 것!!
처음엔 예외가 왜 발생하는지 프로그램의 일반적 흐름으로는 이해할 수가 없어서, 문제를 파악하는 데 많은 시간이 흘렀다.
이렇게도 생각해보고, 저렇게도 생각해보고 가능성을 충분히 열어둔 뒤에 문제가 발생할지도 모르는 곳들에서의 유사한 오류 케이스를 알아보고자 검색하여 다른 경우들도 찾아봤고, 그러면서 내 앱에서의 발생가능성을 토대로 여러 가지 추측을 만들어냈다. 그리고 예제 앱 프로젝트를 새로 만들어서 가설들을 해당 프로젝트 안에서 여러방면으로 진행해봤고, 그 중 이유를 찾아낼 수 있었다. 이유를 찾아낸 뒤엔 처리!!
처음 가설
1. setMinValue와 setMaxValue 설정 후 setValue를 설정해서? 순서를 1 3 2로 변경?
-> No, setMinValue와 setMaxValue를 설정한 뒤에 setValue를 설정해야 적용됌.
만약 MaxValue 설정 전에 Value를 설정하고 MaxValue를 곧이어 지정해줄 시 setValue 지정이 무시됌.
2. setMinValue와 setMaxValue 설정 후 setValue 설정하는 흐름인데, 이게 업데이트되며 반복되는 과정에서 setMaxValue 값이 기존 Value값보다 낮게 설정되면 예외발생?
-> No, setMinValue와 setMaxValue 그리고 setValue를 초기설정해놓은 상황에서 setMaxValue 업데이트로 Value값보다 낮은 값 설정시 Value값이 알아서 Max값과 동일하게 변경.
3. 기기의 일시적 문제발생가능성 (setMaxValue에 마이너스값이 들어감)
+ 추가로 나중에는 세팅된 타이머뷰에는 wrap selector wheel 옵션을 넣어 순환display를 없애서 깔끔하게 보이도록 해야겠다.
'[개발 일지]' 카테고리의 다른 글
호도법과 라디안 (0) | 2020.12.01 |
---|---|
난 왜이렇게 멍청할까.. (0) | 2020.11.29 |
[2020.10.26] '당신이 잠든 사이에' 업데이트 (0) | 2020.10.26 |
[2020.10.25] '당신이 잠든 사이에' 오류&버그 수정 업데이트 (0) | 2020.10.26 |
[2020.10.25] 이젠 '약속해' 업데이트 준비..! (0) | 2020.10.25 |