본문 바로가기

error

(3)
Error Handling 방법 김영욱님의 블로그(UX엔지니어)에 있는 동영상 강좌를 보고 정리한 내용입니다. 1. try, catch, finally catch는 여러개 존재가능하다. 그러므로 catch는 상세한 에러부터 명시하여 처리하며 점점 영역을 넓혀가면서 처리하도록 한다. 2. throw 특정 상황에서 예외를 임의적으로 발생 시킬 수 있다. ex) throw(new ArgumentNummExeception()); 3. User define exception 사용자가 정의한 예외도 발생 시켜서 처리 할 수 있다. ApplicationException() ApplicationException(string message) ex) Throw new ApplicationException("0을 입력했습니다."); protected vo..
[삽질방지] UserControl 부모, 자식이 같은 이름의 스토리보드를 가지고 있을 경우, '간혹' 발생하는 에러 상황설명 UserControl 부모와 UserControl 자식이 UserControl.Resource 하위에 같은 이름을 가진 스토리보드를 가지고 있는 상황에서, 자식을 생성하여 부모의 LayoutRoot.Children에 Add를 하려고 시도하면, 경우에 따라서 다음 그림과 같이 ArgumentException을 유발합니다. 정확히 어떤 경우에 이렇게 되는지 실험을 통해 알아 보았습니다. 실험조건 Fafamama 클래스 - 부모 역할을 하는 UserControl 입니다. Son 클래스 - 자식 역할을 하는 UserControl입니다. Daughter 클래스 - 자식 역할을 하는 UserControl입니다. Fafamama는 LayoutRoot의 Opacity를 조정하는 sbShow란 Storyboar..
[삽질방지] 값이 예상 범위를 벗어났습니다. '값이 예상 범위를 벗어났습니다.' 이 error 또는 다음 과 같은 에러. 이 에러는 이미 부모를 가지고 있는 객체가 또다시 Children Add 가 되었을 때 일어납니다. 예외적으로 ItemsControl의 경우 Item으로 셋팅된 UI 객체가 다시 한번 Item으로 셋팅되거나 Children.Add 되는 경우에 발생할 수 있습니다. 이것은 버그성으로 보이나 ItemsControl(ex. ListBox) 에서 Items로 셋팅된 UI객체는 부모가 다시재설정 될 수 없습니다. 위에 에러가 발생합니다. 주의하세요. 쉽게 말해 다음과 같은 코드는 작성하지 말라는 이야기입니다. Rectangle rc = new Rectangle(); MyListBox.Items.Add(rc); MyListBox.Items..