StartprogrammingusingObjectPascal:TryExceptStatement: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (SPOP TryExcept구문 페이지 추가) |
Onionmixer (talk | contribs) (번역수정 및 스타일 수정) |
||
Line 1: | Line 1: | ||
==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 부분을 실행하지 않을 것입니다.