대부분의 오류나 예외는 메시지를 잘 살펴보면 어떻게 해결할지 답이 나온다.
처음엔 메시지를 봐도 이게 무슨말인가 했는데, 비슷한 예외가 자주 발생하다보니 이젠 잘 읽어보면 어떻게 해결해야할지 감이 잡힌다.
''OpenCVSharp.CPlusPlus.Mat'의 형식 이니셜라이저에서 예외를 Throw했습니다.'
[주의] 일반적인 해결방법이 아닐 수 있습니다.
먼저, 메시지에서 언급된 형식의 인자의 값을 잘못 넣었는지 확인한다.
(그럴 일 없겠지만..) null 이거나, 크기가 맞지 않거나 등등..
만약 잘 입력했는데도 예외가 발생한다면, 예외 창에서 '자세히 보기...' 버튼을 클릭한다.
'자세히 보기'창에 예외 정보가 자세하게 나와있다.
여기서, 처음 보이는 Exception안에 InnerException 을 계속해서 확장하면 다른 메시지가 나타난다.
두둥..!
첫번째 메시지를 보면, Mat 형식의 인자에 어떤 문제가 있다는 건지 잘 몰랐었는데,
마지막 InnerException을 보면,
"DLL 'opencv_core2410'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다."
opencv_core2410.dll 파일을 찾을 수 없었기 때문이라는 것을 알 수 있다.
실행 경로에 해당 파일을 복사해주면 해결된다.
이 방법으로 모든 TypeInitializationException 예외을 처리할 수는 없을 것이다.
하지만, 반대로 다른 Exception을 처리할 수 있을지도 모른다. 안해봤지만 이렇게 적어두고 종종 InnerException을 참고할 예정 :)
'오늘의.. > 오늘의 뻘짓' 카테고리의 다른 글
error 이 개체에 대해 매개 변수가 없는 생성자가 정의되지 않았습니다 (0) | 2017.07.10 |
---|---|
[gdal] ERROR 1: failed to load datum shift file (0) | 2016.05.23 |
[C++] LNK2019 에러 발생 시 해결 방법 (4) | 2015.07.21 |
[C#] 에러 : GDI+ 일반 오류 (0) | 2015.06.26 |
[C#] PropertyGrid Combobox String (0) | 2015.03.25 |