디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.09.03 05:17:49
조회 95 추천 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/22 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
2889063 어비란 유튜버가 국내 유튜브 1타 강사래서 발명도둑잡기(118.235) 09.14 67 0
2889062 냥덩이 뛰뛰가 [2] 개멍청한유라갤로그로 이동합니다. 09.14 99 0
2889061 동창회 발명도둑잡기(118.235) 09.14 51 0
2889060 사람을 닮은 컴퓨터 발명도둑잡기(118.235) 09.14 84 0
2889059 백엔드갤 조루디(118.235) 09.14 86 0
2889053 국비충들 웹으로 먹고살려면 최소 세션맺어지는지까지는 알고 취업문 두들여라 [3] ㅇㅇ(211.234) 09.14 153 0
2889051 은근한 소원 조루디(118.235) 09.14 60 0
2889049 저같은 저능아도 밥먹고삽니다 [5] 조루디(118.235) 09.14 115 0
2889048 국비 신입들은 근데 좀 심하게 못하던데 [1] ㅇㅇ(211.234) 09.14 192 0
2889045 [대한민국] 자유민주주의, 자유 지상주의 등등 정치 이념들 프갤러(121.172) 09.14 50 0
2889044 중소기업도 서류도 찢기는데 스펙좀 봐주라.. [3] 프갤러(124.54) 09.14 144 0
2889042 백갤 개쫄보같이 통신사 아이피 막이놨네 [1] 프갤러(211.234) 09.14 73 0
2889041 진짜진짜 쇼츠 끊는다 주말아침에 4시간동안 쇼츠만내렸네 [1] ㅇㅇ(223.39) 09.14 78 0
2889038 영화와 현실 패싸움 차이 발명도둑잡기(118.235) 09.14 59 0
2889034 하늘이 감격하면 결제가 되더랍니다. 넥도리아(223.38) 09.14 53 0
2889031 성님들 c# 나중에 이직하기 좋나영 [4] ㅇㅇ(210.179) 09.14 143 0
2889030 문재인때 유독 블라인드, 블라인드면접 ㅇㅈㄹ 단어가 생긴게 타이밍뒷.통수한방(1.213) 09.14 66 0
2889029 힘들다 [7] ㅆㅇㅆ(124.216) 09.14 101 0
2889028 요즘 SI 취업도 힘들어? [5] 프갤러(49.167) 09.14 210 0
2889021 가끔 과거 사진들을 보는데 루도그담당(58.239) 09.14 67 0
2889017 이상과 현실 사이 브라우저는 자동으로 닫혀진다. 그리고는 기록을 남긴다. 넥도리아(119.195) 09.14 57 0
2889015 병신들 ㅇㅅㅇ ㅇㅇ(49.165) 09.14 71 0
2888996 이거어떰.. 프갤러(223.38) 09.14 57 0
2888995 장기기증 하면 안되는 이유 야옹아저씨갤로그로 이동합니다. 09.14 99 0
2888992 종합소득세 들어오는데 돈좀 빌릴수잇을까ㅜㅜ html(118.235) 09.14 76 0
2888990 연꽃 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.14 66 0
2888989 태연 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 09.14 60 0
2888988 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.14 69 0
2888984 돈은 받아도 사람은 안 받는 서방 발명도둑잡기(118.216) 09.14 67 0
2888983 로스트 미디어 김중만 광고 발명도둑잡기(118.216) 09.14 83 0
2888982 shigetani hotaru 발명도둑잡기(118.216) 09.14 53 0
2888981 군수님 행사에 외국인 여성들 발명도둑잡기(118.216) 09.14 61 0
2888980 요즘 애들은 영어 잘 하고 개나소나 영어 잘한다던데 사실임? [1] ㅇㅇ(58.229) 09.14 79 0
2888978 음기 충전 발명도둑잡기(118.216) 09.14 68 0
2888977 몇 년 전에 디씨인싸이드 공식앱이 클립보드 내용 가로챈다는 글 발명도둑잡기(118.216) 09.14 70 0
2888976 오늘의 발명 실마리: 읽었던 글, 기사, 게시판 미디어 자동수집 발명도둑잡기(118.216) 09.14 63 0
2888974 오늘의 작사 실마리: 미국에 감금된 한국 노동자들 발명도둑잡기(118.216) 09.14 53 0
2888972 오늘의 발명 실마리: 휴머노이드 선풍기 발명도둑잡기(118.216) 09.14 55 0
2888971 넥도리아야 뭔소리 하는거냐 [4] 발명도둑잡기(118.216) 09.14 85 0
2888969 밤새 자위 했는데 정액 하나 안 나오네..., 오늘은 망했다. 넥도리아(119.195) 09.14 72 0
2888967 질 입구로 주사기로 깊숙이 넣어주는게 맞냐고, 넥도리아(119.195) 09.14 68 0
2888965 나 지금까지 야동 보다가, 정신 차리고 스칼렛 하는데, 넥도리아(119.195) 09.14 61 0
2888959 자바 신입 경쟁율 아직도 높냐? [1] 프갤러(59.16) 09.14 115 0
2888952 유니코드 iso10646 차이 [2] 발명도둑잡기(118.216) 09.14 83 0
2888949 짐승친구들 재밋어서 인형도 삿음 [2] 야옹아저씨갤로그로 이동합니다. 09.14 68 0
2888946 백엔드갤러리로 이주하자 [4] 아스카영원히사랑해갤로그로 이동합니다. 09.13 144 0
2888944 주니어 시절 첫직장 썰좀 들려드림 [3] 프갤러(59.18) 09.13 130 0
2888942 백엔드갤로 [10] 개멍청한유라갤로그로 이동합니다. 09.13 139 0
2888941 유니코드랑 iso10646이랑뭔차이임? [2] ㅇㅇ(223.38) 09.13 76 0
2888940 예수, 석가모니, 콩쯔 생몰 발명도둑잡기(118.216) 09.13 51 0
뉴스 손예진, 3살 아들 미모 자랑 “♥현빈 사랑했겠지‥현재는 아이가 우선” 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2