๐จ ์์ธ ์ฒ๋ฆฌ๋ฌธ โ โ โ โ โ
โถ์์ธ๋? ๋ฐํ์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ
โถ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
- if ~ else
- try ~ catch๋ฌธ ์ฌ์ฉ
try
{
//์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ ์ฝ๋
}
catch(์์ธ์ฒ๋ฆฌ๊ฐ์ฒด e)
{
//์์ธ์ฒ๋ฆฌ
}
โถ System.Exception ํ์ ๊ฐ์ฒด๋ง ์ฌ์ฉ
- OverFlowException
- FormatException
- DivideByZeroException
- FileNotFoundException
โถ IndexOutOfRangeException : ๋ฐฐ์ด์ ์ธ๋ฑ์ค
namespace ConsoleApp4
{
class Myclass
{
static void Main(string[] args)
{
int[] array = {1,2,3};
try
{
array[3] = 10;
}
catch(IndexOutOfRangeException e)
{
Console.WriteLine("๋ฐฐ์ด ์ธ๋ฑ์ค ์๋ฌ ๋ฐ์");
Console.WriteLine(e.ToString()); //์๋ฌ ์์ธ ์ถ๋ ฅ ์ฝ๋
array[2] = 10;
}
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine("{0}", array[i]);
}
}
}
}
๐จ try ~ catch
try๋ฌธ ์์์ ์ด๊ธฐํํ ๋ณ์๋ฅผ try ๋ฌธ ๋ฐ์์ ์ฌ์ฉํ ์ ์๋ค.
try๋ฌธ ์์์ ์ด๊ธฐํ ํ ๋ณ์ m์ try๋ฌธ ๋ฐ์์ ์ฌ์ฉํ๋ ค๋ ์๋ฌ ๋จ
๊ทธ๋ผ ํด๊ฒฐ์?
try๋ฌธ ๋ฐ์์ ์ด๊ธฐํ ํ๋ฉด ๋๋ค!
๐ฉ try~finally
โถfinally
- ์์ธ ๋ฐ์๊ณผ ์๊ด์์ด ํญ์ ์คํ๋๋ ๊ตฌ๋ฌธ
โถ ์์ธ์ ์ธ ์ํฉ์ด ๋ฐ์ํ์ ๋ finally ์ฒ๋ฆฌ
โถ์์ธ์ํฉ์ด ๋ฐ์ํ์ง ์์์ ๋ finally์ฒ๋ฆฌ
namespace ConsoleApp4
{
class Myclass
{
static void Main(string[] args)
{
int[] array = { 1, 2, 3, };
try
{
Console.WriteLine("try๋ฌธ์์ ์์ธ ๋ฐ์์ํต๋๋ค.");
array[3] = 10;
}
finally
{
Console.WriteLine("finally ๊ตฌ๋ฌธ์
๋๋ค.");
}
}
}
}
์์ธ๊ฐ ๋ฐ์ํ์์๋ finally ๊ตฌ๋ฌธ์ ์คํ๋จ์ ์ ์์๋ค.
namespace ConsoleApp4
{
class Myclass
{
static void Main(string[] args)
{
int i = 0;
try
{
i = 12;
}
finally
{
i = 100;
Console.WriteLine("finally ๋ฌธ i ๊ฐ: {0}", i);
}
i = 200;
Console.WriteLine("try finally๋ฌธ ๋ฐ์์ ์คํ i ๊ฐ: {0}",i);
}
}
}
๐จ๊ฒฐ๋ก catch ๋ฌธ์ try ์์ ์์ธ ๋ฐ์์ ์คํ๋๊ณ , finally๋ฌธ์ ์์ธ์ ์๊ด์์ด ํญ์ ์คํ๋จ
๐ฉ ๋ค์ค ์์ธ ์ฒ๋ฆฌ
โถ ํ์
try {
....
} catch (OverFlowException e) {
....
} catch ( FormatException e){
....
} catch( DivideByZeroException e){
....
}
๐ฉ throw
โถ throw(๋์ง๋ค)
์์ธ ์ํฉ์ ์์๋ก ๋ฐ์์ํค๋ ์ญํ
โถ System.Exception ํ์๋ ๊ฐ์ฒด๋ง ์ฌ์ฉ
โถ try ๋ฌธ๊ณผ ๊ทธ ์ธ์์ ์ฌ์ฉ๊ฐ๋ฅ
๐ ์ ๋ฆฌ
- ๋๋ถ๋ถ์ ์ฐ์ฐ์๋ C, C++ ์ธ์ด์ ๊ฐ์
- C#์์ ์๋กญ๊ฒ ๋ฑ์ฅํ ์ฐ์ฐ์: is ์ฐ์ฐ์, as์ฐ์ฐ์, null ๋ณํฉ ์ฐ์ฐ์( ? ?)
- for, while, do~while
- foreach
- ์์ธ์ฒ๋ฆฌ๋ฌธ
- try~catch~finally
- throw
'C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C# ๊ธฐ์ด๊ณต๋ถ] ๋ฐฐ์ด(2) ๊ฐ๋ณ ๋ฐฐ์ด (0) | 2023.01.06 |
---|---|
[C# ๊ธฐ์ด๊ณต๋ถ] ๋ฐฐ์ด(1) ์ผ์ฐจ์๋ฐฐ์ด๊ณผ ๋ค์ฐจ์๋ฐฐ์ด (0) | 2023.01.06 |
[C# ๊ธฐ์ด๊ณต๋ถ] ์ ํ๋ฌธ (if~else)(switch, case) (0) | 2023.01.04 |
[C# ๊ธฐ์ด๊ณต๋ถ] C# ๊ธฐ๋ณธ ๋ฌธ๋ฒ(์ฐ์ฐ์) (0) | 2023.01.04 |
[C# ๊ธฐ์ด๊ณต๋ถ] ๊ฐ ํ์,์ฐธ์กฐํ์ (0) | 2023.01.04 |