[F#] ์์ธ ์ฒ๋ฆฌ
F#์ ์ผ๋ฐ์ ์ธ ์์ธ์ฒ๋ฆฌ ํ์๋ ์ ๊ณตํ๋ค.
์์ธ ์ ์ ๋ฐ ๋ฐ์
์์ธ๋ฅผ ๋์ง๋ ค๋ฉด ๋จผ์ ์์ธ๋ฅผ ์ ์ํด์ผ ํ๋ค.
์์ธ์ ์ ์๋ exception ์์ธ๋ช
of ****์ธ์๋ช
์ ํ์์ผ๋ก ์ ์ํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์์ธ๋ฅผ ๋์ง๋๋ raise ํค์๋๋ก, ์์ธ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋์ง๋ฉด ๋๋ค.

๊ทธ๋ผ ํ๋ก๊ทธ๋จ์ด ์ ํฐ์ง ๊ฒ์ด๋ค.
์์ธ ์ก๊ธฐ: try-with
์์ธ๋ฅผ ์ ๋ ๊ฒ ๋์ง๊ธฐ๋ง ํด์๋ ์๋ฌด ์ธ๋ชจ๊ฐ ์๋ค. ๊ทธ๋ผ ์ธ๊ทธํดํธ์ ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ?
๋ฐ์์ ์์ธ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ์ง ์๊ฒ ๋๊ฐ.
์์ธ๊ฐ ๋ฐ์๊ฐ๋ฅํ ๋ถ๋ถ์ try ์ ์ ๋ฌถ๊ณ , ๋์๋๋ ํ์์ with ์ ์ ๋ฃ์ผ๋ฉด.
์์ธ๊ฐ ๋ฐ์ํด๋ ํ๋ก๊ทธ๋จ์ด ํฐ์ง์ง ์๊ณ with ์ฒ๋ฆฌ ํ ์ ์์ ์ผ๋ก ์ดํ๋๋ค.


๊ทธ๋ฆฌ๊ณ with ์ ์๋ ํ๋ ์ด์์ ์์ธ์ ์ ์ค์ฒฉ์ํฌ ์ ์๋ค.


์ํ ๋ณด์ฅ ๊ตฌ๋ฌธ: try-finally
์์ธ์ฒ๋ฆฌ๋ฌธ์ ์์ด, ์ด๋ค ๊ฒฝ์ฐ์๋ ๋ฐ๋์ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ๋๊ฐ์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์๋ค.
์ฌ์ฉํ ๋ฆฌ์์ค ์ ๋ฆฌ ๊ฐ์ ๊ฒ๋ค์, ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ง๋ ์ผ๋จ ํ๊ณ ๋๊ฐ์ผ ํ๋ ๋ถ๋ถ์ด๋ค.
try-finally์ ์ ์ด๋ฌํ ๊ฒ๋ค์ '๋ฐ๋์' ์ฒ๋ฆฌํ๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
try๋ ์ผ๋ฐ์ ์ธ ์ฐ์ฐ๋ค์ ์ํํ๋ฉด ๋๊ณ , ๋ฐ๋์ ์ฒ๋ฆฌํ๊ฒ ํ ๋ถ๋ถ์ finally์ ์์ฑํ๋ค.
๋ณต์กํ๊ฑด ์๋ค.
