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

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

์–ผ๋žญ๋„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌ๋ฌธ์„ ์ง€์›ํ•œ๋‹ค.

try** ์˜ˆ์™ธ๊ฐ€๋Šฅํ•œ_ํ‘œํ˜„์‹ of
**ย ย ย  ํŒจํ„ด1 -> ํ‘œํ˜„์‹1;

**ย ย ย  ํŒจํ„ด2 -> ํ‘œํ˜„์‹2;**
**ย ย ย  ...**
**ย ย ย  ํŒจํ„ดN -> ํ‘œํ˜„์‹N**
catch
**ย ย ย  throw: ์˜ˆ์™ธ๊ฐ์ฒด -> ํ‘œํ˜„์‹;**
**ย ย ย  exit: ์˜ˆ์™ธ๊ฐ์ฒด -> ํ‘œํ˜„์‹;**
**ย ย ย  error: ์˜ˆ์™ธ๊ฐ์ฒด -> ํ‘œํ˜„์‹**
end


์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š”๊ฑด throw ํ•จ์ˆ˜๋กœ ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. image

image ๊ทธ๋Ÿผ ์ €๊ธฐ throw ์ ˆ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ๋˜์ง„๊ฑธ X๋ผ๋Š”ย ย ย  ์ด๋ฆ„์œผ๋กœ ๋ฐ›๊ฒŒ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ์˜ˆ์™ธ๊ฐ€ ๋˜์ ธ์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹จ์ˆœ ํŒจํ„ด๋งค์นญ๋ฌธ(case of)์ฒ˜๋Ÿผ ์ž‘๋™ํ•œ๋‹ค. image

image

๊ทธ๋Ÿฐ๋ฐ ๋‹จ์ˆœ throw ๋ง๊ณ ๋„ exit์™€ error๋ผ๋Š” ๋†ˆ๋„ ์žˆ๋‹ค.
error๋Š” ๋ฌด์Šจ ์ŠคํƒํŠธ๋ ˆ์ด์Šค๊นŒ์ง€ ์ž˜ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค๊ณ  ํ•˜๊ณ , exit๋Š”.. ๋ญ”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. image

image

image

์—ฌํŠผ ๊ทธ๋ ‡๋‹ค.



์ฐธ์กฐ
https://www.tutorialspoint.com/erlang/erlang_exceptions.htm