StartprogrammingusingObjectPascal:TryExceptStatement: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SPOP TryExcept구문 페이지 추가)
 
(번역수정 및 스타일 수정)
 
Line 1: Line 1:
===try except 구문===
==try except 구문==


<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
Line 14: Line 14:
end;
end;
</syntaxhighlight>
</syntaxhighlight>


나누기에 대한 예제입니다.
나누기에 대한 예제입니다.
Line 50: Line 51:
end.
end.
</syntaxhighlight>
</syntaxhighlight>


try 구문에 두개의 섹션이 있습니다. 처음 부분은 ''try...except'' 사이에 있는 보호할 필요가 있는 블록이고, 다른 부분은 ''except .. end'' 사이에 있습니다.
try 구문에 두개의 섹션이 있습니다. 처음 부분은 ''try...except'' 사이에 있는 보호할 필요가 있는 블록이고, 다른 부분은 ''except .. end'' 사이에 있습니다.


처음 섹션(''try except'')에서 무엇인가가 잘못되었다면, 프로그램은 ''except'' 섹션 (''except..end'')으로 갈 것이고 충돌이 일어나지 않겠지만, 적당한 오류 메시지를 표시하고 실행을 계속할 것입니다.  
처음 섹션(''try except'')에서 무엇인가가 잘못되었다면, 프로그램은 ''except'' 섹션 (''except..end'')으로 갈 것이고 충돌이 일어나는건 아니지만, 적당한 오류 메시지를 표시하고 실행을 계속할 것입니다.  


y 값이 0이라면 예외가 발생할 수 있는 줄입니다.
y 값이 0이라면 예외가 발생할 수 있는 줄입니다.
Line 60: Line 62:
Res:= x / y;
Res:= x / y;
</syntaxhighlight>
</syntaxhighlight>


예외가 발생하지 않았다면, ''except .. end'' 부분을 실행하지 않을 것입니다.
예외가 발생하지 않았다면, ''except .. end'' 부분을 실행하지 않을 것입니다.
[[Category:StartprogrammingusingObjectPascal]]
[[Category:StartprogrammingusingObjectPascal]]

Latest revision as of 10:26, 4 April 2013

try except 구문

try
    // Start of protected code
    CallProc1;
    CallProc2;
    // End of protected code
except
on e: exception do // Exception handling
begin
    Writeln('Error: ' + e.message);
end;
end;


나누기에 대한 예제입니다.

Program ExceptionHandling;

{$mode objfpc}{$H+}

uses
    {$IFDEF UNIX}{$IFDEF UseCThreads}
    cthreads,
    {$ENDIF}{$ENDIF}
    Classes, SysUtils
    { you can add units after this };
var
    x, y: Integer;
    Res: Double;
begin
    try
        Write('Input x: ');
        Readln(x);
        Write('Input y: ');
        Readln(y);
        Res:= x / y;
        Writeln('x / y = ', Res);

    except
    on e: exception do
    begin
        Writeln('An error occurred: ', e.message);
    end;
    end;
    Write('Press enter key to close');
    Readln;
end.


try 구문에 두개의 섹션이 있습니다. 처음 부분은 try...except 사이에 있는 보호할 필요가 있는 블록이고, 다른 부분은 except .. end 사이에 있습니다.

처음 섹션(try except)에서 무엇인가가 잘못되었다면, 프로그램은 except 섹션 (except..end)으로 갈 것이고 충돌이 일어나는건 아니지만, 적당한 오류 메시지를 표시하고 실행을 계속할 것입니다.

y 값이 0이라면 예외가 발생할 수 있는 줄입니다.

Res:= x / y;


예외가 발생하지 않았다면, except .. end 부분을 실행하지 않을 것입니다.