โœ๐Ÿป [Code Camp_TIL] 5์ผ์ฐจ: try~catch

code_Jยท2023๋…„ 3์›” 20์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
8/41
post-thumbnail

Graphql Mutation์— try~catch ์ ์šฉํ•˜๊ธฐ


๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๋Š” ๊ณผ์ •์—์„œ ๋ฐฑ์—”๋“œ ์ปดํ“จํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๋Š” ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹คํŒจ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

์‹คํŒจํ•  ๊ฐ€๋Šฅ์„ฑ๊นŒ์ง€๋„ ์ƒ๊ฐํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์งœ์•ผ ํ•œ๋‹ค! ๊ทธ๋ž˜์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด try ~ catch๋‹ค. try ~ catch๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๊ณต์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ์™€ ์‹คํŒจ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

try ~ catch๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.


try {
		await createBoard({
				variables: {
						aaa: "ํ›ˆ์ด",
						bbb: "1234",
						ccc: "์•ˆ๋…•ํ•˜์„ธ์š” ํ›ˆ์ด์—์š”",
						ddd: "๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค"
				}
		})

} catch(error) {
		alert(error.message)     
} finally {
	// ์„ฑ๊ณต, ์‹คํŒจ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ๋งˆ์ง€๋ง‰์— ์‹คํ–‰๋˜๋Š” ๋ถ€๋ถ„
	// ํ•„์š”์—†๋‹ค๋ฉด ์ƒ๋žต ๊ฐ€๋Šฅ
}

alert(error.message)๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‚ด์ฃผ๋Š” ์‹คํŒจ ๋ฉ”์„ธ์ง€์ด๋‹ค. ์œ„์—์„œ๋ถ€ํ„ฐ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•„๋žซ์ค„ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ๊ฒƒ์„ ์ค‘๋‹จํ•˜๊ณ , ๋ฐ”๋กœ catch(error) ๋ถ€๋ถ„์œผ๋กœ ์ด๋™ํ•ด์„œ ์‹คํŒจ ๋ฉ”์„ธ์ง€๋ฅผ ๋˜์ง€๊ฒŒ ๋œ๋‹ค!

try ~ catch๋ฅผ ์จ์ฃผ๋ฉด ์•ˆ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์‰ฝ๊ฒŒ ์—๋Ÿฌ๋ฅผ ์บ์น˜ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.



profile
Web FE ๊ฐœ๋ฐœ์ž ์ทจ์ค€์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€