문제

at_exit 블록에서 자아 프로세스 종료 상태를 결정할 수 있습니까?

at_exit do
  if this_process_status.success?
    print 'Success'
  else
    print 'Failure'
  end
end
도움이 되었습니까?

해결책 2

아이디어를 사용합니다 Tadman

at_exit do
  if $!.nil? || $!.is_a?(SystemExit) && $!.success?
    print 'success'
  else
    code = $!.is_a?(SystemExit) ? $!.status : 1
    print "failure with code #{code}"
  end
end

다른 팁

이것에 대한 문서는 정말 얇지 만 $! 마지막으로 발생하는 예외로 설정되며 Exit () 후에 전화 한 후에는 시스템 예외입니다. 그 두 사람을 합치게됩니다.

at_exit do
  if ($!.success?)
    print 'Success'
  else
    print 'Failure'
  end
end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top