API Basic Try ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Try / Catch / Finally / Throw

ClassicUO โ€ข Basic

Try๋Š” ๋ณธ๋ฌธ๊ณผ ํ˜ธ์ถœํ•œ ํ•จ์ˆ˜์˜ ์‹คํ–‰ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Catch๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋ฐ›๊ณ  Finally๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ Throw๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ๋‹ค์‹œ ๋˜์ง‘๋‹ˆ๋‹ค. API์˜ 0 ๋˜๋Š” false๋Š” ์ผ๋ฐ˜ ๋ฐ˜ํ™˜๊ฐ’์ด๋ฏ€๋กœ ๋ช…์‹œ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž๋™์œผ๋กœ Catch์— ๋“ค์–ด๊ฐ€์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์ •ํ™•ํ•œ ๊ตฌ๋ฌธ

Try
    statements
Catch
    handlerStatements
Finally
    cleanupStatements
End Try
Catch name
Catch name As Exception
Catch name As String
Throw stringExpression
Throw

๋งค๊ฐœ๋ณ€์ˆ˜

  • Try / statements โ€” Try์—๋Š” ํ•˜๋‚˜์˜ Catch, ํ•˜๋‚˜์˜ Finally ๋˜๋Š” ๋‘˜ ๋‹ค์™€ End Try๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ฒฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณธ๋ฌธ์ด ์ •์ƒ ์ข…๋ฃŒ๋˜๋ฉด Catch๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์ง‘ํ•ฉ์€ ์—ฌ๋Ÿฌ Catch, When ํ•„ํ„ฐ, Exit Try๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Catch / name / As type โ€” Catch ๋ณ€์ˆ˜๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. name์„ ์ง€์ •ํ•˜๋ฉด String ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. As String์€ ์ด ํ‘œํ˜„์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ As Exception์€ ํ˜ธํ™˜ ํ‘œ๊ธฐ์ผ ๋ฟ .NET ๊ฐ์ฒด๋‚˜ ํ˜•์‹ ํ•„ํ„ฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ˜•์‹์€ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ด๋ฆ„์€ ํ”„๋กœ์‹œ์ € ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ๋˜์–ด ๊ฐ™์€ ์ด๋ฆ„์˜ ์ „์—ญ์„ ๊ฐ€๋ฆฝ๋‹ˆ๋‹ค. ๊ธฐ์กด ์ง€์—ญ ๋ณ€์ˆ˜์—๋Š” ํ˜•์‹/Const ๊ทœ์น™์„ ์ง€์ผœ ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค. Catch๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ๊ฒฝ๋กœ์—์„œ๋„ ํ•„์š”ํ•˜๋ฉด Try ์•ž์—์„œ String์„ ์„ ์–ธํ•˜์„ธ์š”.
  • Finally / End Try โ€” Catch๊ฐ€ ์žˆ์œผ๋ฉด Finally๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๊ณ  ๋ณธ๋ฌธ์ด ๋น„์–ด ์žˆ์–ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์ •์ƒ ์ข…๋ฃŒ, ์˜ค๋ฅ˜, Return, Exit Sub/Function, ๋ฐ”๊นฅ ๋ฐฉํ–ฅ์˜ ๋ฐ˜๋ณต๋ฌธ ์ด๋™ ๋ฐ GoTo๋Š” ๊ด€๋ จ Finally๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. End Try๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์ทจ์†Œ๋Š” ์˜๋„์ ์œผ๋กœ Catch์™€ ์Šคํฌ๋ฆฝํŠธ Finally๋ฅผ ๊ฑด๋„ˆ๋›ฐ์–ด ๊ธด๊ธ‰ ์ •์ง€๊ฐ€ ์ง€์—ฐ๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • Throw stringExpression โ€” Throw stringExpression์€ ๋ฉ”์‹œ์ง€๋ฅผ ํ•œ ๋ฒˆ ํ‰๊ฐ€ํ•˜์—ฌ ์ƒˆ ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. String์ด ํ•„์š”ํ•˜๋ฉฐ ๋‹ค๋ฅธ ๊ฐ’์€ CStr๋กœ ๋ช…์‹œ์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์„ธ์š”. ์ด๋Š” Basic ํ˜•์‹์ด๋ฉฐ VB.NET์˜ Throw New Exception(...)์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ํ˜„์žฌ ์‹คํ–‰์ด ์‹คํŒจํ•˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ •์ง€ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
  • Throw โ€” ๋ฉ”์‹œ์ง€ ์—†๋Š” Throw๋Š” Catch์™€ ๊ทธ ์•ˆ์˜ ์ค‘์ฒฉ ๋ธ”๋ก์—์„œ๋งŒ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฉ”์‹œ์ง€, ํŒŒ์ผ, ์ค„์„ ์œ ์ง€ํ•˜๋ฉฐ ํ™œ์„ฑ ์˜ค๋ฅ˜๋ฅผ ๋‹ค์‹œ ๋˜์ง‘๋‹ˆ๋‹ค. Catch์—์„œ ํ˜ธ์ถœํ•œ ๋„์šฐ๋ฏธ ํ•จ์ˆ˜๋Š” ์ด ํ˜•์‹์„ ์“ฐ๋ ค๋ฉด ์ž์ฒด Catch๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’

Try/Catch/Finally์™€ Throw๋Š” ID, ์ˆซ์ž, Boolean์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Catch๋Š” name์— ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ Throw๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ์ œ์–ด๋ฅผ ์˜ฎ๊น๋‹ˆ๋‹ค. ์˜ˆ์ œ๋Š” Main์—์„œ ๋‘ String๊ณผ Integer 13์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ API ํ˜ธ์ถœ์˜ ๋ฐ˜ํ™˜ ๊ทœ์น™์€ ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค.

๋™์ž‘

  • ์ค€๋น„ ๋‹จ๊ณ„๋Š” ๋ธ”๋ก์„ ๊ฒ€์ฆํ•˜๊ณ  GoTo/On Error GoTo๋กœ Try, Catch, Finally ์•ˆ์œผ๋กœ ์ง„์ž…ํ•˜๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๊ธฐ๋Š” ์ฒ˜๋ฆฌ๊ธฐ์™€ ๋งˆ๋ฌด๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ˜ธ์ถœ์€ ์ž์ฒด ํ™œ์„ฑ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์˜ค๋ฅ˜๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ ์ ˆํ•œ Catch๋กœ ๊ฐ‘๋‹ˆ๋‹ค. Catch์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋Š” ์ž์‹ ์˜ Finally๋ฅผ ๊ฑฐ์ณ ๋ฐ”๊นฅ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์กฐ์  ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ์ผ๋ฐ˜ On Error ๊ทœ์น™์ด ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Finally ๋™์•ˆ ๋Œ€๊ธฐ ์ค‘์ธ ๋ฐ˜ํ™˜, ์˜ค๋ฅ˜, ๋ฐ”๊นฅ ์ด๋™์„ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ฒฉ ๋งˆ๋ฌด๋ฆฌ๋Š” ์•ˆ์ชฝ์—์„œ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Finally์˜ ์ƒˆ ์˜ค๋ฅ˜๋Š” ๊ธฐ์กด ์˜ค๋ฅ˜๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. Basic๋Š” Finally ์•ˆ์˜ Return๊ณผ ๋ฐ”๊นฅ ์ด๋™๋„ ํ—ˆ์šฉํ•˜๋ฉฐ ๋Œ€๊ธฐ ์ค‘์ธ ํ›„์† ์‹คํ–‰์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ด๋Š” VB.NET๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋˜์ง€๊ธฐ๋Š” ํ˜ธ์ถœํ•œ ๋„์šฐ๋ฏธ๋ฅผ ํฌํ•จํ•ด ์ตœ์ดˆ ์‹คํŒจ ์œ„์น˜๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ์‹œ ์ค‘์ง€/์ •์ง€ ๊ฒ€์‚ฌ๋Š” ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. Try๋Š” ์Šค๋ ˆ๋“œ, ์žฌ์‹œ๋„, ๋Œ€๊ธฐ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค€๋น„๋œ ์ฃผ์†Œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฉฐ ์ผ๋ฐ˜ ์กฐ๊ฑด์€ ์˜ˆ์™ธ ๋Œ€์‹  ์ง์ ‘ ๊ฒ€์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธด๊ธ‰ ์ •์ง€๋Š” ์Šคํฌ๋ฆฝํŠธ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์†Œ์œ  ์ž์›์€ ์—”์ง„์˜ ๋ณ„๋„ ์ˆ˜๋ช… ๊ด€๋ฆฌ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • ์ •๋ฆฌ ํ›„ Try๋ฅผ ๋ฒ—์–ด๋‚œ ์˜ค๋ฅ˜๊ฐ€ ์™ธ๋ถ€ On Error GoTo ์ฒ˜๋ฆฌ๊ธฐ๋กœ ๊ฐ€๋ฉด Resume์€ ํ—ค๋”๋ถ€ํ„ฐ ์ „์ฒด Try๋ฅผ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. Resume Next์™€ On Error Resume Next๋Š” End Try ๋ฐ”๋กœ ๋‹ค์Œ ๋ฌธ์žฅ์—์„œ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒํ•œ ์ž‘์—…์ด ๋ฐ˜๋ณต๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ •๋ฆฌ๋œ ๋ณธ๋ฌธ ์ค‘๊ฐ„์œผ๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ

1. ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ๋ณด๊ด€

# CheckedAmount๋Š” Integer amount=-2๋ฅผ ByVal๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์Œ์ˆ˜์—ฌ์„œ Throw "amount must be non-negative"๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Catch๋Š” String์„ problem์œผ๋กœ ๋ฐ›์•„ message์— ๋ณต์‚ฌํ•˜๋ฉฐ As Exception์€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Finally๋Š” finished=1๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Main์€ "amount must be non-negative:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ์ •์ƒ ๋ฐ˜ํ™˜ํ•˜๊ณ  Catch๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.
Option Explicit On
Function CheckedAmount(ByVal amount As Integer) As Integer
    If amount < 0 Then
        Throw "amount must be non-negative"
    End If
    Return amount
End Function

Sub Main()
    Dim message=""
    Dim finished=0
    Try
        CheckedAmount(-2)
    Catch problem As Exception
        message=problem
    Finally
        finished=1
    End Try
    Return message & ":" & CStr(finished)
End Sub

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

CheckedAmount๋Š” Integer amount=-2๋ฅผ ByVal๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์Œ์ˆ˜์—ฌ์„œ Throw "amount must be non-negative"๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Catch๋Š” String์„ problem์œผ๋กœ ๋ฐ›์•„ message์— ๋ณต์‚ฌํ•˜๋ฉฐ As Exception์€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Finally๋Š” finished=1๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Main์€ "amount must be non-negative:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ์ •์ƒ ๋ฐ˜ํ™˜ํ•˜๊ณ  Catch๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

2. ๋ฐ”๊นฅ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ๋‹ค์‹œ ๋˜์ง€๊ธฐ

# ์•ˆ์ชฝ Throw๊ฐ€ "missing item"์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์•ˆ์ชฝ Catch๊ฐ€ trace=1๋กœ ์„ค์ •ํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ์—†๋Š” Throw๊ฐ€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ชฝ Finally๊ฐ€ 2๋ฅผ ๋ถ™์ด๊ณ  ๋ฐ”๊นฅ Catch๊ฐ€ outerProblem์„ message์— ๋ณต์‚ฌํ•˜๋ฉฐ 3์„ ๋ถ™์ธ ๋’ค ๋ฐ”๊นฅ Finally๊ฐ€ 4๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค. Main์€ "1234:missing item"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. trace๋Š” ์‹คํ–‰ ์ˆœ์„œ์ด๋ฉฐ ์˜ค๋ฅ˜ ์ฝ”๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
Option Explicit On
Sub Main()
    Dim trace=0
    Dim message=""
    Try
        Try
            Throw "missing item"
        Catch problem
            trace=1
            Throw
        Finally
            trace=trace*10+2
        End Try
    Catch outerProblem
        message=outerProblem
        trace=trace*10+3
    Finally
        trace=trace*10+4
    End Try
    Return CStr(trace) & ":" & message
End Sub

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

์•ˆ์ชฝ Throw๊ฐ€ "missing item"์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์•ˆ์ชฝ Catch๊ฐ€ trace=1๋กœ ์„ค์ •ํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ์—†๋Š” Throw๊ฐ€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ชฝ Finally๊ฐ€ 2๋ฅผ ๋ถ™์ด๊ณ  ๋ฐ”๊นฅ Catch๊ฐ€ outerProblem์„ message์— ๋ณต์‚ฌํ•˜๋ฉฐ 3์„ ๋ถ™์ธ ๋’ค ๋ฐ”๊นฅ Finally๊ฐ€ 4๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค. Main์€ "1234:missing item"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. trace๋Š” ์‹คํ–‰ ์ˆœ์„œ์ด๋ฉฐ ์˜ค๋ฅ˜ ์ฝ”๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

3. ์‹œ์ž‘ํ•œ ๋ฐ˜๋ณต๋งˆ๋‹ค ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ

# number๋Š” 1, 2, 3์ด ๋ฉ๋‹ˆ๋‹ค. total์—๋Š” 1๋งŒ ๋”ํ•ฉ๋‹ˆ๋‹ค. Continue For๊ฐ€ 2๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  Exit For๊ฐ€ 3์—์„œ ๋๋‚ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•œ ์„ธ Try ๋ชจ๋‘ Finally๋ฅผ ์‹คํ–‰ํ•˜์—ฌ finished=3์ด ๋ฉ๋‹ˆ๋‹ค. Main์€ 1*10+3=13์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Finally์— ์˜ค๋ฅ˜๊ฐ€ ํ•„์ˆ˜์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ๋ฐ˜๋ณต๋ฌธ ์ด๋™์€ ํ•ด๋‹น ๋ฐ˜๋ณต์˜ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
Option Explicit On
Sub Main()
    Dim total=0
    Dim finished=0
    For Var number=1 To 3
        Try
            If number=2 Then
                Continue For
            End If
            If number=3 Then
                Exit For
            End If
            total+=number
        Finally
            finished+=1
        End Try
    Next
    Return total*10+finished
End Sub

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

number๋Š” 1, 2, 3์ด ๋ฉ๋‹ˆ๋‹ค. total์—๋Š” 1๋งŒ ๋”ํ•ฉ๋‹ˆ๋‹ค. Continue For๊ฐ€ 2๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  Exit For๊ฐ€ 3์—์„œ ๋๋‚ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•œ ์„ธ Try ๋ชจ๋‘ Finally๋ฅผ ์‹คํ–‰ํ•˜์—ฌ finished=3์ด ๋ฉ๋‹ˆ๋‹ค. Main์€ 1*10+3=13์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Finally์— ์˜ค๋ฅ˜๊ฐ€ ํ•„์ˆ˜์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ๋ฐ˜๋ณต๋ฌธ ์ด๋™์€ ํ•ด๋‹น ๋ฐ˜๋ณต์˜ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.


en ยท ru ยท uk ยท fr ยท de ยท it ยท es ยท zh-tw ยท ja ยท ko

Basic