KO CSharp Exceptions - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ะ ัƒััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซ”ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท ํ•œ๊ตญ์–ด

์˜ˆ์™ธ, try/catch/finally ๋ฐ throw

์„ค๋ช…์„œ C# ยท ์˜ˆ์‹œ UO

try๋Š” ๋ณดํ˜ธ ์˜์—ญ์„ ์ œํ•œํ•˜๊ณ , catch๋Š” ์ ์ ˆํ•œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , finally๋Š” ์ข…๋ฃŒ ์‹œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ when๋Š” ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. throw;๋Š” ์›๋ž˜ ์Šคํƒ์„ ๋ณด์กดํ•˜๋ฉด์„œ ํ˜„์žฌ ์˜ˆ์™ธ๋ฅผ ๋‹ค์‹œ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. throw exception; ์‹œ์ž‘ ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ (Example.cs)

์ด ์˜ˆ์ œ๋ฅผ Example.cs๋กœ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ  ์ด ํŽ˜์ด์ง€์˜ ๋‹ค๋ฅธ ์˜ˆ์ œ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

Example.cs:

// PROJECT-EXAMPLE
try { int.Parse("not a number"); }
catch (System.FormatException) { System.Console.WriteLine("Invalid"); }

๊ฒฐ๊ณผ:

Invalid
try
{
    int value = int.Parse("not a number");
    UO.Print(value.ToString());
}
catch (FormatException error)
{
    UO.Print(error.Message);
}
finally
{
    // Dispose resources owned by this scope.
}
int RequirePositive(int value)
{
    if (value <= 0) throw new ArgumentOutOfRangeException(nameof(value));
    return value;
}
UO.Print(RequirePositive(3).ToString());

์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ข…๋ฃŒํ•  ์˜๋„ ์—†์ด ์ทจ์†Œ๋ฅผ ๊ฐ€๋กœ์ฑ„์ง€ ๋งˆ์„ธ์š”. ์ฒญ์†Œ๋Š” ์ž์ฒด ์ž์›์„ ํ™•๋ณดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. finally์— ๋Œ€ํ•œ ์ทจ์†Œ๋œ ๊ฒŒ์ž„ ํ˜ธ์ถœ๋กœ ์ธํ•ด ์˜ˆ์™ธ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋Š” ์‹คํ–‰ ์ „์— ๊ฐ์ง€๋˜๋ฉฐ ์‹คํ–‰ ์ฝ”๋“œ ๋‚ด try ์ •์ƒ์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ: ์˜ˆ์™ธ, try/catch/finally ๋ฐ throw - Microsoft Learn.