Error Handling
-
[Windows Programming] ์๋ฌ ํธ๋ค๋ง(Error Handling) [2]Windows Programming 2020. 1. 14. 23:19
์ด ๊ธ์ "์ ํ๋ฆฌ ๋ฆฌ์ฒ์ Windows via C/C++" ํ ๋๋ก ์์ฑํ์ต๋๋ค ์๋ฌ ํธ๋ค๋ง ์์ ์๋์ฐ ํจ์๊ฐ ํธ์ถ์์๊ฒ ์ด๋ป๊ฒ ์๋ฌ๋ฅผ ๋ฐํํ๋์ง ๋ณด์๋ค. ๋ง์ดํฌ๋ก์ํํธ๋ ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ๋ ํจ์์ ๋ํด์๋ ์ ์ฉํ ์ ์๋๋ก ํ๋ค. ๊ฐ๋ฐํ๋ ํจ์๋ ํ๋ ํน์ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ ์ํด ์คํจํ ์ ์์ ๊ฒ์ด๋ฉฐ, ์คํจ์ ์์ธ์ ํธ์ถ์์๊ฒ ๋ฐํํ๋๋ก ์์ฑ๋์ด์ผ ํ๋ค. ์คํจ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ์คํจ์ ์ด๋ฅ๋ฅผ ์ค๋ ๋์ ๋ง์ง๋ง ์๋ฌ ์ฝ๋๋ก ์ค์ ํ๊ณ FALSE, INVALID_HANDLE_VALUE, NULL ๊ฐ์ ๊ฐ์ด๋ ์ ์ ํ ๊ฐ์ ๋ฐํํ๋๋ก ์์ฑ VOID SetLastError ์ค๋ ๋์ ๋ง์ง๋ง ์๋ฌ ์ฝ๋๋ฅผ ์ค์ ํ๊ธฐ ์ํ ํจ์ DWORD dwErrCode : ์๋ฌ ์ฝ๋ ์๋ฌ ์ฝ๋๋ 32๋นํธ ๊ฐ์ด๋ค. ์๋ฌ์ ..
-
[Windows Programming] ์๋ฌ ํธ๋ค๋ง(Error handling) [1]Windows Programming 2020. 1. 13. 23:01
์ด ๊ธ์ ์ ํ๋ฆฌ ๋ฆฌ์ฒ์ "Windows via C/C++"์ ํ ๋๋ก ์์ฑํ์ต๋๋ค. ์๋ฌ ํธ๋ค๋ง ์๋์ฐ ํจ์๋ฅผ ํธ์ถํ๋ฉด ํธ์ถ๋ ํจ์๋ ๋จผ์ ์ ๋ฌ๋ ์ธ์์ ์ ํจ์ฑ์ ํ์ธํ๊ณ ํจ์์ ๊ธฐ๋ฅ ์ํํ๋ค. ๋ง์ผ ์ ๋ฌ๋ ์ธ์๊ฐ ์ ํจํ์ง ์๊ฑฐ๋ ๋ค๋ฅธ ์ด์ ๋ก ์ธํด ํด๋น ๊ธฐ๋ฅ์ ์ํํ ์ ์์ผ๋ฉด ํจ์๋ ์คํจ๋ฅผ ๋ฐํํ๋ค. ์๋์ฐ ํจ์๋ ์คํจํ๋ฉด ํจ์ ์คํจ ์ฌ๋ถ๋ฅผ ์์๋ด๋ ๊ณผ์ ํ์ํ๋ค. ๋ง์ดํฌ๋ก์ํํธ๋ ๋ชจ๋ ์๋ฌ์ฝ๋๋ฅผ 32๋นํธ ์ซ์๋ก ์ ์ํด ๋์๋ค. [2]ํธ์์ ์ค๋ช ์๋์ฐ ํจ์๊ฐ ์คํจํ๋ฉด ๋ด๋ถ์ ์ผ๋ก ํจ์๋ฅผ ํธ์ถํ ์ค๋ ๋์ ์ค๋ ๋ ์ง์ญ ์ ์ฅ์์ ์๋ฌ ์ฝ๋ ์ ์ฅ => ์ฌ๋ฌ ์ค๋ ๋ ๋์ ์ํํ๋๋ผ๋ ์ํธ๊ฐ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ์ค๋ ๋๋ณ ์๋ฌ ์ฝ๋ ์ ์ง DWORD GetLastError ์ด๋ค ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ ์ต..