디시인사이드 갤러리

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

갤러리 본문 영역

Ada의 예외 처리 ㅎㅎ 제미니한테 글 맡겼더니..

나르시갤로그로 이동합니다. 2025.09.03 05:17:49
조회 73 추천 0 댓글 1

"영구적으로"
"절대"
"쉽게 비유하자면... 과 같습니다"


아.. 제미니한테 글 맡기면 저렇게 주관적으로 작성됨. ㅎㅎ

제미니는 분명 주관이 없을텐데 말야. ㅎㅎ


그래서 "주관적 표현을 모두 제거하라",

"레퍼런스 매뉴얼에 입각하여 개선하라",

"주관적 평가를 모두 제거하라"

"학술적으로 작성하라"

"저작권 침해 소지를 제거하라"


이렇게 매번 명령해야 함.


Ada의 예외 처리: 종료 모델 (Termination Model)

Ada에서 예외가 발생하면, 해당 예외를 일으킨 코드 블록(begin ... end 또는 서브프로그램)의 실행은 즉시 **영구적으로 중단(terminate)**됩니다.

제어권은 그 블록의 끝에 있는 예외 핸들러로 이전되어 필요한 후속 조치를 수행하지만, 핸들러의 실행이 끝나면 제어권은 예외가 발생했던 지점으로 절대 돌아가지 않습니다. 대신, 예외 핸들러를 포함했던 전체 블록 다음으로 실행을 이어갑니다.

쉽게 비유하자면, 응급실에 실려 온 환자를 치료(예외 처리)한 후, 환자를 다치기 직전의 시간으로 되돌려 보낼 수 없는 것과 같습니다.


재실행을 구현하는 방법: 반복문 (Loop)

하지만 사용자가 원하는 수정 후 재시도 로직은 반복문을 사용하여 구현할 수 있습니다. 이는 Ada에서 흔히 사용되는 매우 일반적인 패턴입니다.

다음은 잘못된 인덱스를 교정하고 배열 접근을 재시도하는 예시 코드입니다.

declare
   A : array (1..10) of Integer;
   Index : Integer := 11; -- 고의로 잘못된 인덱스 설정
begin
   loop
      begin
         -- 예외가 발생할 수 있는 위험한 작업
         A(Index) := 100;
         Put_Line ("성공적으로 값을 할당했습니다.");
         
         exit; -- 성공 시 반복문 탈출

      exception
         when Constraint_Error =>
            Put_Line ("잘못된 인덱스(" & Index'Image & ")를 감지했습니다. 수정합니다.");
            -- 인덱스를 올바른 범위로 교정
            if Index > A'Last then
               Index := A'Last;
            elsif Index < A'First then
               Index := A'First;
            end if;
            -- 핸들러가 끝나면 loop의 처음으로 돌아가 재시도 🔁
      end;
   end loop;

   Put_Line ("최종 할당된 인덱스: " & Index'Image);
end;

이처럼 Ada는 예외 발생 지점으로의 복귀를 허용하지 않지만, 반복문과 예외 핸들러를 조합하여 유사한 재시도 로직을 안전하고 명확하게 구현할 수 있습니다.


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현대물보다 사극에서 더 빛나는 남자 배우는? 운영자 25/09/08 - -
AD 신학기 레벨업~!! 운영자 25/09/05 - -
2886756 보안 공부하느라고 [1] 루도그담당(210.104) 09.04 69 0
2886755 그래도 어차피 난 큰 시스템 안하고 작은 개인범주 일만하니까 ㅆㅇㅆ(124.216) 09.04 44 0
2886754 모든 전라도 광주 100만원 배급 ㅇㅅㅇ ♥냥덩이♥갤로그로 이동합니다. 09.04 61 0
2886753 대기업이 그렇게 좋냐? [5] 아스카영원히사랑해갤로그로 이동합니다. 09.04 95 0
2886752 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.04 55 0
2886751 국비수업 참여후 기업연계형 취업 프갤러(115.95) 09.04 107 1
2886750 나는 뭐 일을 가리지 않고 하니까 FPGA,부터 아두이노 클라까지 [4] ㅆㅇㅆ(124.216) 09.04 80 0
2886749 요양원 가면 똥기저귀 치우라하고 그러냐?? 아님 똥은 안치우냐 ㅇㅇ(223.39) 09.04 43 0
2886748 더불어민주당 최강욱 “그건 개돼지의 생각” 국민비하발언 파문 ♥냥덩이♥갤로그로 이동합니다. 09.04 53 0
2886747 내장장치 ASML 사가지 없네요. 저장장치 갤 운영자 [1] 넥도리아(220.74) 09.04 52 0
2886746 나님 통찰력 ㄱㅆㅅㅌㅊ!!!!!! [1] ♥냥덩이♥갤로그로 이동합니다. 09.04 79 0
2886745 나님 탈갤합니당.. ♥냥덩이♥갤로그로 이동합니다. 09.04 56 0
2886744 ㅈㅓㄴ략이 중요하당 ♥냥덩이♥갤로그로 이동합니다. 09.04 67 0
2886743 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.04 55 0
2886742 오늘 의뢰는 STM32 캔 통신 예제 [7] ㅆㅇㅆ(124.216) 09.04 93 0
2886741 [수도권 ICT 이노베이션 스퀘어] AI Fit-T 프로젝트 바이브코딩 프갤러(14.32) 09.04 294 0
2886740 북한무장공비 한국 침입 프로세스 ㄷㅅㄷ [1] ♥냥덩이♥갤로그로 이동합니다. 09.04 70 0
2886739 파김치갱이 뭔데 발명도둑잡기(112.169) 09.04 69 0
2886738 나노바나나 남혐 작명 아니냐 발명도둑잡기(112.169) 09.04 43 0
2886737 cloudflare 문제있음? [1] 프갤러(183.98) 09.04 62 0
2886736 나노바나나 갤러리만들엇서 [3] ㅇㅇ갤로그로 이동합니다. 09.04 82 0
2886735 빅테크 대기업들은 C/C++/파이선/자바가 대세입니다. [3] 나르시갤로그로 이동합니다. 09.04 112 0
2886734 retroarch는 왜 이렇게 개떡같이 만들었냐 [1] 발명도둑잡기(112.169) 09.04 70 0
2886732 가난하고 환경이 안좋은사람은 보셈 [4] 프갤러(121.139) 09.04 103 1
2886731 나님 퓨어..✨ 순수..⭐ ♥냥덩이♥갤로그로 이동합니다. 09.04 57 0
2886730 어제 개좆같은 일을 경험한 후 뭔가 [2] 아스카영원히사랑해갤로그로 이동합니다. 09.04 106 0
2886729 3년전에 여기다가 파이썬 개발 질문하고 그랬는데 [4] 프갤러(61.87) 09.04 180 1
2886728 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.04 64 0
2886726 여기 고닉들 다 어디감? [4] 깃깃갤로그로 이동합니다. 09.04 90 0
2886725 발도둑 누가 좀 계속 신고 좀 해라. 나르시갤로그로 이동합니다. 09.04 70 0
2886723 오징어게임 전세계 더빙 인력 1320명 [1] 발명도둑잡기(112.169) 09.04 63 0
2886722 요즘 주니어들은 복잡한걸 거부해서 큰일이다 [2] ㅇㅇ(175.223) 09.04 118 0
2886721 타 서비스의 기능을 우리쪽에 붙인다는 표현이 [1] 프갤러(59.10) 09.04 67 0
2886720 자기가 하는 소리가 말이 안된다는걸 정말 모르는걸까 ㅇㅇ갤로그로 이동합니다. 09.04 60 0
2886719 GI가 내 계정 글들 신고하는 것 같다 발명도둑잡기(211.234) 09.04 44 0
2886718 버스 옆에 앉은 백인 남자 발명도둑잡기(211.234) 09.04 54 0
2886717 IT계열은 명확한 표준 전문용어가 잘 정립이 안되어있는 것 같음 [4] ㅇㅇ(117.111) 09.04 101 0
2886716 오딘 프로 1 샀다 발명도둑잡기(211.234) 09.04 60 0
2886715 프붕이들 바이바이 ~ ㅇㅅㅇ// [1] 헤르 미온느갤로그로 이동합니다. 09.04 56 1
2886714 완도 가려던 프랑스 여행객 시외버스서 숨져 [1] 발명도둑잡기(211.234) 09.04 80 0
2886713 프로그래머 = 동물원 동물과 동급? ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.04 74 0
2886711 애플 이벤트 D - 6 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.04 54 0
2886710 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.04 41 0
2886709 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.04 67 0
2886708 솔루션 신입 들어왔는데 607갤로그로 이동합니다. 09.04 83 0
2886707 스타트업 코테 필요한가? ㅇㅇ갤로그로 이동합니다. 09.04 181 0
2886706 냥꼬 얼얼하넹;; [2] ♥냥덩이♥갤로그로 이동합니다. 09.04 89 0
2886704 러스트를 배우면 휴가중에 전화가 안온다. 프갤러(223.33) 09.04 77 0
2886697 넥도리아 usb 접지 부분을 4%5% 남기고 꽂으니 외장하드 인식이 잘됨 넥도리아(220.74) 09.04 58 0
2886693 흠.. 또 제안 [1] 꼬치의달인갤로그로 이동합니다. 09.04 82 0
뉴스 암 투병 고백하더니 “참담하다”…‘박성광♥’ 이솔이 충격 근황 디시트렌드 09.07
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2