[Elixir] ์์ธ์ฒ๋ฆฌ
์๋ฆญ์๋ ์ผ๋ฐ์ ์ธ ๋ช ๋ นํ ์ธ์ด๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์์ธ๋ฅผ ๋์ง๊ณ ๋ฐ๋ try-catch ์คํ์ผ์ ์์ธ์ฒ๋ฆฌ๋ฌธ์ ์ ๊ณตํ๋ค.
์์ธ ๋์ง๊ธฐ
์์ธ๋ฅผ ๋์ง๋ ค๋ฉด ๊ทธ๋ฅ raise์ ์์ธ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ฌ๊ธฐ์๋ ๊ทธ๋ฅ ๋ฌธ์์ด๋ง ๋ฃ์๋ค.



์์ธํ์
์ ์ํ๊ธฐ
๊ทธ๋ฅ ๋์ถฉ ์ฐ์ด๋ณด๋ ค๋ฉด ๋ฌธ์์ด๋ง ๋ฃ์ด๋๋ ๋์ง๋ง, ์์ธ๊น์ง ์น๋ฐํ๊ฒ ๊ด๋ฆฌํ๊ณ ์ถ๋ค๋ฉด ์์ธํ์
์ ์ ์ํด์ ์ฐ๋ฉด ๋๋ค.
์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ๋ค. ๋ชจ๋ ์์ defexception์ผ๋กย ย ย ์์ธ ํจ์ message๋ฅผ ์ ์ํ๋ฉด ๋๋ค.
์ ๊ตณ์ด ์ด๋ฐ๊ฑฐ๊น์ง ํค์๋๋ฅผ ๋ฐ๋ก ๋ง๋ค์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค...



์์ธ ๋ฐ๊ธฐ: try-rescue
์ ๋๋ก ์์ธ๋ฅผ ๋์ง๊ธฐ๋ง ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ ์ฃฝ์ด๋ฒ๋ ค์ ์๋ฏธ๊ฐ ์๋ค.
๋น์ฐํ ๋ฐ์์ ์ ์์ ์ผ๋ก ๋์ํ ์ ์๊ฒ ํด์ค์ผ ํ๊ณ .. ๊ทธ๋ด ๋ ์ฐ๋ ๊ฒ์ด try-rescue ๊ตฌ๋ฌธ์ด๋ค.
try do ๊ตฌ๋ฌธ์ ์์ธ๊ฐ ๋ฐ์์๋ ๋ถ๋ถ์ ๊ฒฉ๋ฆฌํด๋๊ณ , rescue ๋ถ๋ถ์ ์์ธ๋ฐ์์์ ๋ก์ง์ ์ ์ํ๋ค.

ํ๋๋ง ํด๋ ๋์ง๋ง, ์์๊ฐ์ด ์ฌ๋ฌ๊ฐ์ ์ค๋ฅํ์
์ผ๋ก ๋ถ๊ธฐ๋ฅผ ๊ฑธ ์๋ ์๋ค.
e in์ ์์ธ๊ฐ์ e๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฒ ๋ค๋ ๊ฑด๋ฐ, ๊ฐ์ ์ฐ์ง ์์ ๊ฒ์ด๋ผ๋ฉด ์๋ตํด๋ ๋๋ค.
in ํ์
๋ ํ์
์ ๊ตฌ๋ถํ์ง ์๋๋ค๋ฉด ์๋ต๊ฐ๋ฅํ๋ค.
์ด์ ์ ๋ฌ๋ฉด

์ ์์ ์ผ๋ก ๋๊น์ง ๋ค ๋์ํ ๊ฒ์ด๋ค.

์ฐธ์กฐ
https://www.tutorialspoint.com/elixir/elixir_errors_handling.htm