12.3 System.Exception ํด๋์ค
System.Exception ํด๋์ค๋ ๋ชจ๋ ์์ธ์ ์กฐ์์ด๋ค. C#์์ ๋ชจ๋ ์์ธ ํด๋์ค๋ ๋ฐ๋์ ์ด ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์์ผ ํ๋ค.
IndexOutOfRangeException ์์ธ๋ System.Exception ์ผ๋ก๋ถํฐ ํ์๋์๋ค.
๊ทธ๋ ๋ค๋ฉด ์์ ๊ด๊ณ๋ก ์ธํด ๋ชจ๋ ์์ธ ํด๋์ค๋ System.Exception ํ์์ผ๋ก ๊ฐ์คํ ์ ์๊ณ ,
System.Exception ํ์์ ์์ธ๋ฅผ ๋ฐ๋ catch ์ ํ๋๋ฉด ๋ชจ๋ ์์ธ๋ฅผ ๋ค ๋ฐ์ ์ ์๋ค๋ ๋ป์ด ๋๋ค.
<1>
try
{
}
catch(IndexOutOfRangeException e)
{
//...
}
catch(DivideByZeroException e)
{
//...
}
<2>
try
{
}
catch (Exception e)
{
}
๊ทธ๋ฌ๋ <2>์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ง ์์ธ ํ์์ ๊ตฌ๋ถํ์ง ์๊ณ System.Exception ํด๋์ค ๋จ ํ๋๋ง์ผ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ฉด ์์ธ ์ํฉ์ ๋ฐ๋ผ ์ฌ์ธํ๊ฒ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ๋๋ค.
Exception ํด๋์ค ๋ง์ผ๋ก ๋์์ด ์ด๋ ค์ฐ๋ฏ๋ก ๊ท์ฐฎ๋ค๊ณ ๋ฌด์กฐ๊ฑด Exception ํด๋์ค๋ฅผ ์ฌ์ฉํ์ง ๋ง ๊ฒ.
ํนํ, ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ํ ์์ธ ๋ง๊ณ ๋ค๋ฅธ ์์ธ๊น์ง ๋ฐ์๋ผ ์ ์๋ค.
๊ทธ ์์ธ๊ฐ ํ์ฌ ์ฝ๋๊ฐ ์๋ ์์ ์ฝ๋์์ ์ฒ๋ฆฌํด์ผ ํ ์์ธ๋ผ๋ฉด, ์ด ์ฝ๋๋ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ๋๋ ค ๋ฒ๊ทธ๋ฅผ ๋ง๋๋ ์ ์ด ๋์ด ๋ฒ๋ฆฐ๋ค.
System.Exception ์์ธ๋ฅผ ์ฌ์ฉํ ๋๋ ์ฝ๋๋ฅผ ๋ฉด๋ฐํ ๊ฒํ ํด์ ์ฒ๋ฆฌํ์ง ์์์ผ ํ ์์ธ๊น์ง ์ฒ๋ฆฌํ๋ ์ผ์ด ์๋๋ก ํด์ผ ํ๋ค.
'C# > ์ด๊ฒ์ด C#์ด๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ธ์ฒ๋ฆฌํ๊ธฐ(4) try~catch์ finally (0) | 2022.04.18 |
---|---|
์์ธ ์ฒ๋ฆฌํ๊ธฐ(3) ์์ธ ๋์ง๊ธฐ (0) | 2022.04.17 |
60. ์์ธ ์ฒ๋ฆฌํ๊ธฐ(1) (0) | 2022.04.09 |
59. foreach๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ผ๋ฐํ ํด๋์ค (0) | 2022.02.28 |
58. ์ผ๋ฐํ ์ปฌ๋ ์ (0) | 2022.02.28 |