๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Programming/Python

[python] ๋ฐ˜๋ณต๋ฌธ ํšจ๊ณผ์ ์œผ๋กœ ๋””๋ฒ„๊น…ํ•˜๊ธฐ: try-except ๋ธ”๋ก

by ๋ญ…์ฆค 2022. 12. 15.
๋ฐ˜์‘ํ˜•

๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์š”. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ Python์˜ try-except ๋ธ”๋ก์„ ํ™œ์šฉํ•˜๋ฉด ์—๋Ÿฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” try-except ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊ฒŒ์š” !

์™œ try-except ๋ธ”๋ก์„ ์‚ฌ์šฉํ• ๊นŒ์š”?

๋ฐ˜๋ณต๋ฌธ ๋‚ด์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๋จธ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•ด์š”. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

try-except ๋ธ”๋ก ์‚ฌ์šฉ ์˜ˆ์ œ

for i in range(10):
    try:
        # ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ฝ”๋“œ
        result = 10 / i
    except ZeroDivisionError as e:
        print(f"Error at iteration {i}: {e}")
    else:
        print(f"Result at iteration {i}: {result}")

 

์ด ์˜ˆ์ œ์—์„œ๋Š” i๊ฐ€ 0์ผ ๋•Œ ZeroDivisionError๊ฐ€ ๋ฐœ์ƒํ•ด์š”. try-except ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ , ๋ชจ๋“  ๋ฐ˜๋ณต์„ ๊ณ„์† ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

 

 

VsCode์—์„œ ํ™•์ธ

 

์œ„ ์บก์ฒ˜์ฒ˜๋Ÿผ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋˜ ์ง€์ ์— try, except ๋ธ”๋ก์„ ์ ์šฉํ•˜๊ณ  except ์•„๋ž˜์— ์ค‘๋‹จ์ ์„ ๊ฑธ๊ณ  ๋””๋ฒ„๊น…์„ ์‹œ์ž‘ํ•˜๋ฉด try ๋ถ€๋ถ„์„ ์‹œ๋„ํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ except ์—์„œ ์ค‘๋‹จ๋˜๊ฒ ์ฃ ? ์ด ๋•Œ ๋ณ€์ˆ˜๋‚˜ ์กฐ์‚ฌ์‹์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋น„๊ต์  ์ˆ˜์›”ํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š” !

๋ฐ˜์‘ํ˜•