ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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κ°œλŠ” λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ— μ˜ν•΄ μ˜ˆμ•½λ˜μ–΄ μžˆλ‹€. 직접 μ½”λ“œλŠ” λ‚˜λ¨Έμ§€ κ°’ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.



    • μΆ”κ°€ μˆ˜μ •ν•  λΆ€λΆ„μ΄λ‚˜ κΆκΈˆν•œ 점 있으면 λŒ“κΈ€λ‘œ λ‚¨κ²¨μ£Όμ„Έμš”.
    λ°˜μ‘ν˜•
Designed by Tistory.