[Dart] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

[์›๋ณธ ๋งํฌ]

dart๋„ ๋‹ค๋ฅธ ๋ช…๋ นํ˜• ์–ธ์–ด๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ try-catch ๊ตฌ๋ฌธ์œผ๋กœ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๊ฐ€๋ น, ์ •์ˆ˜ ๋‚˜๋ˆ—์…ˆ์—์„œ 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ๋…ผ๋ฆฌ์ ์ธ ์˜ค๋ฅ˜์ด๋‹ค. ๋”ฐ๋ผ์„œ ์˜ˆ์™ธ๊ฐ€ ๋˜์ ธ์ง€๊ณ , ๋ฐ›์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ฃฝ๋Š”๋‹ค. image

image


์˜ˆ์™ธ ๋˜์ง€๊ธฐ
์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ๋˜์งˆ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ƒฅ throw๋งŒ ์“ฐ๋ฉด ๋œ๋‹ค.
์•„๋ž˜์—์„œ๋Š” ๋Œ€์ถฉ ๋ฌธ์ž์—ด๋งŒ ๋˜์กŒ๋Š”๋ฐ image

image

image

์ข‹์€๊ฑด ์•„๋‹ˆ๊ณ , ๋ณดํ†ต์€ Exception์„ ์ƒ์†ํ•œ ์˜ˆ์™ธํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ด์„œ ๊ทธ๊ฑธ ๋˜์ง„๋‹ค. image

image

image


์˜ˆ์™ธ ๋ฐ›๊ธฐ
ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ์˜ˆ์™ธ๋ฅผ ๋ฐฉ์น˜ํ•˜์ง€ ๋ง๊ณ  ๋ฐ›์•„์ค˜์•ผ ํ•œ๋‹ค.

์˜ˆ์™ธ๊ฐ€ ๋œฐ์ˆ˜ ์žˆ๋Š” ๊ตฌ์—ญ์„ try๋กœ ๋ฌถ๊ณ , catch๋กœ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ์˜ ๋กœ์ง์„ ์ž‘์„ฑํ•œ๋‹ค. image

image

image ๊ทธ๋Ÿผ ์˜ˆ์™ธ๊ฐ€ ๋œจ์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ์—” ์ •์ƒ๋™์ž‘ํ•˜๊ณ , ์˜ˆ์™ธ๊ฐ€ ๋œฐ๋•Œ๋งŒ catch๋กœ ์ œ์–ด๊ฐ€ ์ „์ด๋œ๋‹ค.
catch ์•ˆ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” throwํ•œ ์˜ˆ์™ธ๊ฐ’์ด ์ „๋‹ฌ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  on์œผ๋กœ ์˜ˆ์™ธํƒ€์ž…์„ ๋ช…์‹œํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ. ๊ธ€์Ž„. image

image ๋‹คํŠธ์˜ ๊ธฐ๋Šฅ์  ํ•œ๊ณ„๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ catch๊ฐ€ ์ค‘์ฒฉ๋˜์ง„ ์•Š๋”๋ผ.


finally ๊ตฌ๋ฌธ
์ด๊ฑด ํ•ด๋‹น try๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๋ฌด์กฐ๊ฑด ์‹คํ–‰๋˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค.
return ๋“ฑ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋„ ์‹คํ–‰์ด ๋ณด์žฅ๋œ๋‹ค.

ํ• ๋‹นํ–ˆ๋˜ ์ž์› ์ •๋ฆฌ ๋“ฑ์„ ํ• ๋•Œ ์ข‹๋‹ค. image

image

image



์ฐธ์กฐ
https://www.tutorialspoint.com/dart_programming/dart_programming_exceptions.htm