๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐™‹๐™ฎ๐™ฉ๐™๐™ค๐™ฃ/๐™Ž๐™ฉ๐™ช๐™™๐™ฎ

์˜ˆ์™ธ์ฒ˜๋ฆฌ

by beomcoder 2023. 6. 29.
728x90
๋ฐ˜์‘ํ˜•

์˜ˆ์ „์—๋Š” '๋‚˜๋Š” ํ‹€๋ฆฌ์ง€ ์•Š์„ํ…Œ๋‹ˆ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด'๋ผ๋Š” ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ช‡ ๋‹ฌ์ „๋ถ€ํ„ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋ ค ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค.

 

๋‚ด๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์—†๋”๋ผ๋„ ๋‹ค๋ฅธ ํ†ต์‹ ์— ์˜ํ•ด, ์„œ๋ฒ„์— ์˜ํ•ด ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๊ณ ,

์ฝ”๋“œ๊ฐ€ ๋ฐฉ๋Œ€ํ•ด์ง€๋‹ˆ ๋กœ์ง์ด ๊ผฌ์ด๊ธฐ๋„ ํ•˜๊ณ 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด๋ฆ„์ด๋‚˜ ์ปฌ๋Ÿผ๋ช…์ด ๋‹ฌ๋ผ์ง€๊ธฐ๋„ ํ–ˆ์—ˆ๋‹ค.

 

์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ๋กœ์ง๋“ค์€ ๋ฌธ์ œ์—†์ด ์‹คํ–‰๋˜์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ• ์ˆ˜ ์žˆ๋Š” ๊ณณ๋งˆ๋‹ค ์—๋Ÿฌ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ–ˆ๋‹ค.

 

def chat_ever(chat_count, user):
    return chat_count / user

 

์˜ˆ๋ฅผ ๋“ค๋ฉด ์œ ์ €๋“ค์˜ ํ‰๊ท  ์ฑ„ํŒ…์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.

user๊ฐ€ ์ฑ„ํŒ…์„ ์ณค์œผ๋‹ˆ user๋Š” 0์ด ๋  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ฑ„ํŒ…์„ ์นœ ์œ ์ €๊ฐ€ ํƒˆํ‡ดํ•˜์—ฌ ์œ ์ €์ˆ˜๊ฐ€ 0์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋ถ„๋ชจ๊ฐ€ 0์ด ๋  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

def chat_ever(chat_count, user):
    try: 
        return chat_count / user
    except: 
        return -1

 

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ

ํ•œ์ค„์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ์ค„์ผ๋•Œ ์—๋Ÿฌ์˜ ์›์ธ์„ ๋ชป์ฐพ์„ ๋•Œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

DB ์…€๋ ‰ํŠธ ์—๋Ÿฌ์ธ์ง€, ์ปฌ๋Ÿผ ์—๋Ÿฌ์ธ์ง€, ์—…๋ฐ์ดํŠธ์—๋Ÿฌ์ธ์ง€ ๋ฌธ๋ฒ•์˜ค๋ฅ˜์ธ์ง€ ๋ชจ๋ฅผ๋•Œ๊ฐ€ ์žˆ๋‹ค.

 

def chat_ever(chat_count, user):
    try: 
        return chat_count / user
    except Exception as ex:
        print(ex)
        return -1

 

try ๊ตฌ๋ฌธ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด Exception์œผ๋กœ ์—๋Ÿฌ ์ด์œ ๊ฐ€ ์ „์†ก์ด ๋˜๊ณ  ๊ทธ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•œ๋™์•ˆ ์ž˜ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ DB ์—…๋ฐ์ดํŠธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ์ ์ด ์žˆ์—ˆ๋‹ค.

ํ™•์ธํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ DB์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ตฌ๊ฐ„์ด ์—„์ฒญ ๋งŽ์•„์„œ ๋ช‡๋ฒˆ์งธ ๋ผ์ธ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.

 

import traceback

def chat_ever(chat_count, user):
    try: 
        return chat_count / user
    except Exception as ex:
        print('chat_ever: ', ex)
        print(traceback.format_exc())

 

๊ทธ๋ž˜์„œ traceback ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ช‡๋ฒˆ์งธ ๋ผ์ธ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค.

๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ธฐ๋Š” ์–ด๋ ต๊ฒ ์ง€๋งŒ

๊ทธ๋ž˜๋„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋‚ด์˜ ์—๋Ÿฌ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค.

 

์—๋Ÿฌ์ฒ˜๋ฆฌ๋Š” ์•„์ง๋„ ๋ฐฐ์šธ ์ ์ด ๋งŽ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€