-
[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λΉνΈ κ°μ΄λ€. μλ¬μ μμΈμ΄ WinError.hμ μ μλμ΄ μλ€λ©΄, κ°λ₯ν μ΄λ―Έ μ μλμ΄ μλ μλ¬ μ½λ μ¬μ©
μ ννμ§ μλ€λ©΄ μμ λ§μ μλ¬ μ½λ μμ±
λΉνΈ 31-30 29 28 27-16 15-0 λ΄μ© μ¬κ°λ λ§μ΄ν¬λ‘μννΈ/κ³ κ° μμ½λ¨ μλ³ μ½λ μμΈ μ½λ μλ―Έ 0 = μ±κ³΅
1 = μ 보
2 = μ£Όμ
3 = μλ¬0 = λ§μ΄ν¬λ‘μννΈκ°
μ μν μ½λ
1 = κ³ κ°μ΄ μ μν μ½λνμ 0 256κΉμ§λ λ§μ΄ν¬λ‘μννΈμ
μν΄ μμ½λ¨λ§μ΄ν¬λ‘μννΈλ
κ³ κ°μ΄ μ μν μ½λ
λ§μ΄ν¬λ‘μννΈκ° μ μν λͺ¨λ μλ¬ μ½λλ 29λ² λΉνΈλ₯Ό νμ 0μΌλ‘ μ€μ ν κ²μ κ·μ νμλ€.
λ°λΌμ μλ¬ μ½λλ₯Ό μ§μ λ§λ€μ΄μΌ νλ€λ©΄ μ΄ κ°μ λ°λμ 1λ‘ μ€μ νμ¬μΌ νλ€.
μ΄λ κ² ν΄μΌλ§ μ¬μ©μκ° μ§μ μμ±ν μλ¬ μ½λκ° λ§μ΄ν¬λ‘μννΈμμ μ΄λ―Έ μμ±νμκ±°λ μμΌλ‘ μμ±ν μλ¬ μ½λμ κ²ΉμΉμ§ μμ κ²μ΄μ 보μ₯λ°μ μ μλ€.
μλ³ μ½λλ 4096κ°μ§ κ²½μ° μ€ μ΅μ΄ 256κ°λ λ§μ΄ν¬λ‘μννΈμ μν΄ μμ½λμ΄ μλ€. μ§μ μ½λλ λλ¨Έμ§ κ° μ¬μ© κ°λ₯νλ€.- μΆκ° μμ ν λΆλΆμ΄λ κΆκΈν μ μμΌλ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ.
λ°μν'Windows Programming' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
- μ΄ κΈμ "μ ν리 리μ²μ Windows via C/C++" ν λλ‘ μμ±νμ΅λλ€