[첫화면으로]Perl/에러처리

마지막으로 [b]

변경사항 (가장 최근의 "일반적인 수정"부터) (소소한 수정)

-24,10 +24,17
my $core_dumped = $? & 128;  # 또는 0b1000_0000
}}}
Perl 프로세스의 경우
* exit 뒤에 인자를 줄 경우 해당 인자의 값이 프로세스의 종료값이 된다.
* die의 경우는 종료값은 255. 이 값을 바꾸고 싶다면 END 블록에서 $?값을 바꿔준다.
{{{#!vim perl
END { $? = 37 if $? = 255 }
}}}
<div class="comments">
<longcomments(100)>
----
<trackbackreceived>
</div>
----
[[컴퓨터분류]]


Perl 에러 기초

에러를 보고하는 네가지 특수 변수: ( Perldoc:perlvar 참조 )
변수 영어이름1 설명
$! $ERRNO , $OS_ERROR 운영체제 또는 라이브러리 호출로 발생한 에러
$? $CHILD_ERROR 마지막 wait() 호출의 결과값
$@ $EVAL_ERROR 마지막 eval() 호출로 발생한 에러
$^E $EXTENDED_OS_ERROR 운영체제에 따라 다른 에러정보

%! 해쉬 변수:

$? - 자식 프로세스의 종료 상태값
close( $pipe ) or die "Child error: $?";
wait( $pid ) or die "Child error: $?";

my $exit_value  = $? >> 8;
my $signal      = $? & 127;  # 또는 0b0111_1111
my $core_dumped = $? & 128;  # 또는 0b1000_0000

Perl 프로세스의 경우
END { $? = 37 if $? = 255 }

이름:  
Homepage:
내용:
 


컴퓨터분류
각주:
1. use Perldoc:English 로 사용가능

마지막 편집일: 2012-2-11 12:25 am (변경사항 [d])
2750 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기