디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

러스트도 울고 간, Ada 6.5 예외 전파

나르시갤로그로 이동합니다. 2025.09.20 20:28:48
조회 22 추천 0 댓글 0

6.5 예외 전파

예외가 발생했을 때 현재 실행 중인 블록에 해당 예외를 처리할 수 있는 when 절이 없으면, 예외는 소멸되지 않고 자신을 호출한 코드로 전파됩니다. 이처럼 예외가 호출 스택을 거슬러 올라가는 과정을 예외 전파(exception propagation)라고 합니다.

전파 과정

  1. 서브프로그램이나 블록문(declare ... begin ... end) 실행 중 예외가 발생합니다.
  2. 해당 블록의 정상적인 실행은 즉시 중단됩니다.
  3. Ada 런타임은 해당 블록의 exception 처리 구역에서 발생한 예외와 일치하는 when 절을 찾습니다.
  4. 만약 일치하는 when 절이 없으면 (또는 exception 구역 자체가 없으면), 예외는 전파됩니다.
  5. 전파된다는 것은, 현재 블록을 호출했던 지점에서 동일한 예외가 다시 발생하는 것을 의미합니다. 이 과정은 적절한 예외 처리기를 만나거나, 태스크의 최상위에 도달할 때까지 반복됩니다.

예시

다음 코드에서 procedure_bConstraint_Error에 대한 처리기가 없습니다. 따라서 예외가 발생하면, procedure_b를 호출한 procedure_a로 예외가 전파되어 그곳의 처리기가 실행됩니다.

with Ada.Text_IO;

procedure main_example is

  -- procedure_b를 미리 선언하여 procedure_a에서 호출 가능하게 함
  procedure procedure_b;

  -- procedure_b를 호출하는 procedure_a의 구현
  procedure procedure_a is
  begin
    Ada.Text_IO.put_line ("procedure_b를 호출합니다...");
    procedure_b;
  exception
    when Constraint_Error =>
      Ada.Text_IO.put_line ("procedure_a에서 예외가 처리되었습니다.");
  end procedure_a;

  -- 예외를 발생시키는 procedure_b의 구현
  procedure procedure_b is
    x : Integer := 0;
    y : Integer;
  begin
    Ada.Text_IO.put_line ("procedure_b 내부에서 예외를 발생시킵니다...");
    y := 1 / x;
    -- 위의 나눗셈에서 예외가 발생하므로 이 줄은 실행되지 않음
  end procedure_b;

begin
  -- 프로그램 실행을 시작하기 위해 procedure_a를 호출
  procedure_a;
end main_example;

전파의 규칙

예외 전파에는 다음과 같은 두 가지 규칙이 적용됩니다.

1. 선언부에서의 예외

서브프로그램이나 블록의 선언부(예: isbegin 사이)에서 예외가 발생하면, 해당 블록의 exception 처리기는 이를 처리하지 못하고 즉시 상위 실행 문맥으로 전파됩니다.

procedure example is
  -- 선언부에서 Constraint_Error 발생
  n : Positive := 0;
begin
  null;
exception
  -- 이 처리기는 선언부의 예외를 처리할 수 없음
  when Constraint_Error =>
    Ada.Text_IO.put_line ("이 메시지는 출력되지 않습니다.");
end example;

2. 태스크에서의 예외

처리되지 않은 예외가 태스크(task)의 최상위 레벨까지 전파되면, 더 이상 다른 곳으로 전파되지 않고 해당 태스크가 종료됩니다. 자세한 내용은 태스크를 다루는 8.1절에서 다시 설명하겠습니다.


ㅆㅇㅆ은 나에 대한 비방, 모욕 및 명예훼손을 중단하라.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 군대 예능 출연해 줬으면 싶은 여자 스타는? 운영자 25/09/15 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47338 65
2890897 '신태일 틱톸에서 떡치는중ㅋㅋㅋ 프갤러(59.6) 22:38 0 0
2890893 충격적임.. ♥냥덩이♥갤로그로 이동합니다. 22:32 3 0
2890891 본인 09고딩인데 MDM뚫는방법 구함 프갤러(49.1) 22:28 3 0
2890889 새끼길냥이들 추위에 떨고있어양.. ♥냥덩이♥갤로그로 이동합니다. 22:14 8 0
2890887 오프라인판 냥덩이같은 놈이 또 있네 발명도둑잡기(118.216) 22:11 8 0
2890886 날 선선하니 테라스에서 ♥냥덩이♥갤로그로 이동합니다. 22:09 8 0
2890884 나님 쉐익스피어 ♥냥덩이♥갤로그로 이동합니다. 22:08 8 0
2890881 권성동 구치소에서 얼굴 멍자국? 발명도둑잡기(118.216) 21:53 9 0
2890879 청년 취업난을 개인탓하는 이유 발명도둑잡기(118.216) 21:49 12 0
2890874 부도 직전의 영국현실..비싼 전기료에 폭망 발명도둑잡기(118.216) 21:39 11 0
2890873 ㄹㅇ 부천 인천 안산 울산 전라도새끼들은 믿거 ♥냥덩이♥갤로그로 이동합니다. 21:36 20 0
2890871 나님 자격증 목록 ㅁㅌㅊ? ♥냥덩이♥갤로그로 이동합니다. 21:29 19 0
2890870 ‘05년생 인기가수’ 데이비드 차 트렁크에서 ‘10대 소녀 시신’ 발견 발명도둑잡기(118.216) 21:25 14 0
2890868 Atlantis · Audionautix 발명도둑잡기(118.216) 21:05 8 0
2890867 러스트 고마 빨고 수치 연산 오류 없는 Ada 쓰시오 나르시갤로그로 이동합니다. 21:05 12 0
2890866 레미레미도레밍밍~ ♥냥덩이♥갤로그로 이동합니다. 20:58 13 0
2890865 러빨러가 말하는 오픈소스 러스트의 모순점 [1] 나르시갤로그로 이동합니다. 20:57 24 0
2890863 정말 성실하게 노력하면 좋은날이 올까?? 지난 날이 후회된다.... [1] ㅇㅇ(223.38) 20:55 20 0
2890862 일본 마코 근황 [1] 발명도둑잡기(118.216) 20:50 36 0
2890861 실시간베스트 주한미군 분담글 댓글에 인공지능 심리공작 댓글 분석 필요 발명도둑잡기(118.216) 20:44 10 0
2890860 주말에도 디씨 하는 사람 발명도둑잡기(118.216) 20:39 12 0
2890859 나님 작사 ♥냥덩이♥갤로그로 이동합니다. 20:39 12 0
2890858 걸스데이 유라, 람보르기니 몰다 대형 사고…"한문철TV에 제보하지 마세요 [1] 발명도둑잡기(118.216) 20:37 23 0
2890857 애널 푹 잘 쉬어ㅓㅅ낭 ♥냥덩이♥갤로그로 이동합니다. 20:36 12 0
2890856 낼부터 다시 시작이군 ♥냥덩이♥갤로그로 이동합니다. 20:36 11 0
2890855 Google Gemini l ADP 우찬&타잔이 준비한 미리 크리스마스 발명도둑잡기(118.216) 20:30 17 0
2890854 사기피해자를 위한 힐링노래 발명도둑잡기(118.216) 20:25 13 0
2890853 증권 자동매매 앱 사업성 검토 보고서 나르시갤로그로 이동합니다. 20:24 43 0
2890852 증권 자동매매 앱이라.. ㅎㅎ 나르시갤로그로 이동합니다. 20:17 19 0
2890848 흠.. ♥냥덩이♥갤로그로 이동합니다. 20:09 15 0
2890847 오락실가면 [1] 배구공(119.202) 20:06 24 0
2890844 Ai영상 잼땅 ♥냥덩이♥갤로그로 이동합니다. 20:00 18 0
2890842 자주보는 영상 배구공(119.202) 19:56 13 0
2890840 케잌해줘 배구공(119.202) 19:52 17 0
2890836 ㅎㅂㅈㅇ ai짤 방금가져옴 배구공(119.202) 19:43 23 0
2890834 점심 저녁 발명도둑잡기(118.216) 19:42 16 0
2890833 이 멤버로 스토리 드래곤 보물 모으기 (#비전 벽타기)로 클리어할 예정 넥도리아(220.74) 19:41 14 0
2890830 05년생 안랩 정직원 [2] 프갤러(118.235) 19:37 40 0
2890829 디즈니 향한 업계 보이콧 움직임 발명도둑잡기(118.216) 19:36 13 0
2890822 나님 누웅⭐+ ♥냥덩이♥갤로그로 이동합니다. 19:25 16 0
2890820 국제 해적처럼 말하기 날 [3] 발명도둑잡기(118.216) 19:19 24 0
2890818 아마 다음 노트북은 갤럭시북으로 갈듯 프갤러(61.79) 18:48 25 0
2890817 나는 처녀가 좋은데 일녀보다 당연히 한녀가 나음.. [3] ㅆㅇㅆ(124.216) 18:48 62 0
2890816 나님 애널 일찍 주무실게양⭐+ ♥냥덩이♥갤로그로 이동합니다. 18:40 20 0
2890815 나는 성병 1위 매독 스시녀보다는 한녀가 좋음... ㅆㅇㅆ(124.216) 18:29 32 0
2890814 이미지처리쪽 진로 잘아는 분 계신가요? 프갤러(211.248) 18:19 17 0
2890813 살고싶지 않다 사는게 더 이상 귀찮다 [1] 메쿠이료갤로그로 이동합니다. 18:13 29 0
2890812 ■노트북 이정도면 개발용으로 어떰? [2] ㅇㅇ갤로그로 이동합니다. 18:09 44 0
2890810 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 17:40 21 0
뉴스 하지원, 47세 탄탄한 몸매와 동안 미모로 등장...“나이를 잊은 여전한 여신” 디시트렌드 09.20
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2