디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.09.03 05:17:49
조회 82 추천 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 - -
2887682 살빼야되는데 배구공(119.202) 09.08 39 0
2887681 똥싸고싶은데 배구공(119.202) 09.08 43 0
2887680 야동보고싶은데 배구공(119.202) 09.08 51 0
2887679 오락만들고싶은데 배구공(119.202) 09.08 47 0
2887678 컴퓨터 좀 하냐? [2] 배구공(119.202) 09.08 77 0
2887677 궁금한게있습니다.(취업관련) [3] 프갤러(112.160) 09.08 113 0
2887676 나님 외계인한테 호출 왓당.. ♥뽀송냥덩♥갤로그로 이동합니다. 09.08 43 0
2887675 [설계자 The Plot] 메인 예고편, [암수살인] 30초 예고편 발명도둑잡기(118.216) 09.08 42 0
2887674 [단독] 故김정주, 사후에 코인계좌 해킹당해… 85억어치 털렸다 발명도둑잡기(118.216) 09.08 60 0
2887670 컴공 4학년인데 언어 파이썬 몰빵하는 거 리스크 너무 큰가요? [9] ㅇㅇ(118.235) 09.08 172 0
2887667 짱구만봐도 일본여자 진실 알수있지않나 [1] ㅇㅇ(175.197) 09.08 64 0
2887663 이직하고 싶은데 언제쯤 나아지려나 ㅇㅇ(211.234) 09.08 56 0
2887662 펀쿨섹좌 차기 일본 총리 뭐노 [4] 아스카영원히사랑해갤로그로 이동합니다. 09.08 104 0
2887658 커널 드라이버 개발하는 게이 없냐 [2] 루도그담당(211.184) 09.08 65 0
2887657 아스카의 일일선행) [2] 아스카영원히사랑해갤로그로 이동합니다. 09.08 88 0
2887653 요즘 리눅스도 버그 존나 많음ㅋㅋ근데 리눅스뉴스에서는 소식이 아무도없음ㅋ 타이밍뒷.통수한방(1.213) 09.08 55 0
2887652 일 못쳐내는 동료 땜에 화딱지나네 [6] ㅇㅇ(211.234) 09.08 87 0
2887651 유닉스 환경(FreeBSD, 리눅스, 솔라리스) 30년 사용자가 말한다 [10] 나르시갤로그로 이동합니다. 09.08 87 0
2887649 개발자시상은 망하는데 판사연예인스포츠선수기상캐스터는 [1] 타이밍뒷.통수한방(1.213) 09.08 41 0
2887648 코딩 하나도 모르는 비전공자가 앱개발하려면 얼마나 걸림? [3] ㅇㅇ(114.202) 09.08 84 0
2887641 대도서관씨가 죽었다는게 믿어지지 않습니다 [2] 헬마스터갤로그로 이동합니다. 09.08 93 0
2887640 아 개발하기 귀찮다 [1] 프갤러(172.218) 09.08 65 0
2887639 어후 배아파 루도그담당(211.184) 09.08 47 0
2887638 개발용으로 리눅스 쓰는 사람들은 왜 쓰는거야? [16] 프갤러(14.52) 09.08 128 0
2887637 애플 이벤트 D - 2 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.08 46 0
2887636 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.08 39 0
2887635 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.08 65 0
2887625 나르시님의 OOP에 대한 몰이해 비판 나르시갤로그로 이동합니다. 09.08 59 0
2887623 와 개발자 취업 시장 개망하니깐 여기도 싹 사라졌네 [2] 프갤러(221.153) 09.08 222 1
2887621 개좇센은 ai로 대체해야할 판사연예인기득권재벌새끼들은 뒷통수한방(1.213) 09.08 39 0
2887618 기득권들은 할줄아는게 뒷통수한방(1.213) 09.08 48 0
2887616 20세기 언어 Ada는 상속도 지원합니다. 나르시갤로그로 이동합니다. 09.08 42 0
2887615 러스트 상속 안된다고 상속이 쓰레기라능 ㅎㅎ [3] 나르시갤로그로 이동합니다. 09.08 85 0
2887610 [개꿀팁] 남자라면 꼭 알고 있어야 하는 유흥 팁 ㅇㅇ(118.235) 09.08 63 0
2887606 금융권 개발자가 안정적이란게 [1] 프갤러(180.70) 09.08 81 0
2887599 앱 만들어서 월수익 500찍는거 [5] zian갤로그로 이동합니다. 09.07 141 0
2887588 왜 사람은 한두군데 역겨운 면모를 가지고 있을까 [2] 아스카영원히사랑해갤로그로 이동합니다. 09.07 63 0
2887580 TSP 문제 풀다 인생 백트레킹 할뻔 ㅋㅋ 프갤러(114.205) 09.07 51 0
2887549 우연히 유튜브 알고리즘에 떠서 봤는데 [5] 아스카영원히사랑해갤로그로 이동합니다. 09.07 112 0
2887547 나는 왜 같은 일 하는것보다 처음 해보는게 좋을까 [1] ㅆㅇㅆ(124.216) 09.07 62 0
2887536 파이참과 아나콘다의 차이점에 대해서 궁금합니다 [6] ㅇㅇ갤로그로 이동합니다. 09.07 70 0
2887529 인삼사탕보다 프갤러(125.240) 09.07 57 0
2887519 맥주한잔햇읍니다.. ㅎ [6] 개멍청한유라갤로그로 이동합니다. 09.07 78 0
2887517 아무것도 하기 싫을 땐 일단 움직이십시오. [2] 프갤러(110.8) 09.07 71 0
2887505 요즘 공부도 질림 [3] 루도그담당(58.239) 09.07 81 0
2887504 저 아래 글 봐서 호기심에 들어가서봤는데 [3] ㅆㅇㅆ(124.216) 09.07 82 0
2887475 나 의뢰 맡기고싶다 인강 추출 [8] ㅇㅇ(118.235) 09.07 117 0
2887468 약간 이런식으로 이해해라 프로그래머는 게을러 빠진 족속이라 ㅆㅇㅆ(124.216) 09.07 84 0
2887467 상속은 쓰레기입니다. 가능한 쓰지 마십시오. [1] 프갤러(110.8) 09.07 76 0
2887466 상속은 다형성을 위해서 존재함. 다형성의 구현이 상속임.. [4] ㅆㅇㅆ(124.216) 09.07 91 0
뉴스 나나, 블랙으로 점령한 가을… E.B.M 25 FALL 캠페인 공개 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2