디시인사이드 갤러리

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

갤러리 본문 영역

Ada 프로그래밍: 6. 예외 처리

나르시갤로그로 이동합니다. 2025.08.11 00:25:06
조회 72 추천 0 댓글 0

6. 예외 처리

Ada는 프로그램 실행 중 발생하는 오류 및 기타 예기치 않은 이벤트를 관리하기 위해 내장된 예외 처리 메커니즘을 제공합니다. 이 메커니즘의 핵심 원칙은 관심사의 분리입니다: 오류를 감지하는 코드와 이를 처리하는 코드가 분리되어 있습니다.

Ada에서 예외는 형식이 아닌 명명된 객체로 선언됩니다.

-- 패키지 명세에서
Invalid_Input : exception;

비정상적인 상황이 감지되면 raise 문을 사용하여 예외가 발생됩니다. 이는 즉시 정상적인 프로그램 실행을 중단하고 서브프로그램 호출 체인을 따라 예외를 전파하기 시작합니다.

procedure process_data (value : in Integer) is
begin
  if value < 0 then
    raise Invalid_Input with "입력 값은 음수일 수 없습니다";
  end if;
  -- 정상 처리...
end process_data;

예외 처리기는 exception 블록 내에 정의되며, 이 블록은 모든 begin ... end 블록(예: 서브프로그램 본체 또는 declare 블록)의 끝에 위치할 수 있습니다.

begin
  -- 일련의 문장들
  process_data (value => User_Value);
exception
  when Invalid_Input =>
    Ada.Text_IO.put_line ("오류: 유효한 입력을 제공하십시오.");
  when others =>
    Ada.Text_IO.put_line ("예기치 않은 오류가 발생했습니다.");
    raise; -- 현재 예외를 외부 범위에서 처리하도록 다시 발생시킴
end;

이 설계는 모듈식 프로그래밍을 장려합니다. 하위 수준의 유틸리티 패키지는 오류를 감지하고 특정 예외를 발생시킬 수 있지만, 애플리케이션이 어떻게 응답해야 하는지 추정하지 않습니다. 애플리케이션의 전반적인 상태와 요구사항에 적합한 방식으로 예외를 처리하는 것은 상위 수준의 호출 코드의 책임입니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 존재만으로도 웃음주는 최고의 '웃수저' 스타는? 운영자 25/08/25 - -
2884138 ㄴㅏ님 주무시기전 소통⭐+ 질문 받음☘+ ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 35 0
2884130 태극기가 국기면 태국기라고 해야 되는거 아닌가요? [1] 발명도둑잡기갤로그로 이동합니다. 08.24 31 0
2884128 웹앱땔깜애들 요즘 걍 측은지심으로바뀜 [1] 네오커헠(58.225) 08.24 75 1
2884127 언어 프레임워크 강함 순위 [2] 프갤러(106.101) 08.24 69 0
2884126 저장용 ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 22 0
2884122 트럼프 모바일 첫 스마트폰 근황 발명도둑잡기갤로그로 이동합니다. 08.24 21 0
2884119 나님 애널 일찍 주무실게양❤+ ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 39 0
2884118 요즘도 코테로 사람 걸러내나요? [1] ㅇㅇ갤로그로 이동합니다. 08.24 80 0
2884115 [애니뉴스][잡지] 오후우와 이야기의 핵심에 다가가는 해설 프갤러(121.172) 08.24 16 0
2884114 노조법 개정안 국회 통과, 하청 노동자도 원청과 교섭한다 발명도둑잡기갤로그로 이동합니다. 08.24 17 0
2884113 고언어 어디까시 성장할거같음? [1] 프갤러(125.179) 08.24 39 0
2884112 재개발 언제 하려낭 ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 23 0
2884111 고졸백수저축0원인데 취업이 하고싶다 ㅠㅠㅠㅠㅠ [4] 공기역학갤로그로 이동합니다. 08.24 76 0
2884110 흠.. ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 34 0
2884109 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 20 0
2884108 개발자들 마우스 뭐 씀? [12] 프갤러(223.38) 08.24 101 0
2884106 죽여주십시오 전하 주아갤로그로 이동합니다. 08.24 31 0
2884105 어린 여자아이에 말랑 말랑 잠지 만지고 싶음 [2] 류류(211.217) 08.24 47 0
2884104 윤석열 대통령이 전쟁 막았던거네.. ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 43 0
2884103 근데 이제 ㄹㅇ 취업 못하는거 아니냐 [10] 공기역학갤로그로 이동합니다. 08.24 120 0
2884101 강제로 2시간만 정신을 잃고 싶다 주아갤로그로 이동합니다. 08.24 24 0
2884097 애플은 5~10년내에 망한다. ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 08.24 52 0
2884096 경력직 면접 할 때 기술면접 별로 안봄? [1] 프갤러(118.216) 08.24 50 0
2884095 뭐가 문제인데? 이상운(222.114) 08.24 29 0
2884094 우솝.. 너무 강하다아앗..!! ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 22 0
2884093 언어 프레임워크별 강함 순위 [2] 프갤러(125.179) 08.24 79 2
2884092 계속 진화한다 어떻게 이러지 프갤러(61.79) 08.24 22 0
2884091 상처 받은 냥덩이 ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 24 0
2884089 남고딩들 미녀의 유혹으로부터 살아남기 발명도둑잡기갤로그로 이동합니다. 08.24 31 0
2884085 어딜 가든 비추가 많으면 그 게시물은 팩트라는거임 류류(118.235) 08.24 33 1
2884084 챗GPT 답변에서 언론 기사 기여도는 몇 퍼센트? 발명도둑잡기갤로그로 이동합니다. 08.24 23 0
2884083 냐마어루 [1] ㅇㅇ(220.84) 08.24 28 0
2884082 고롱ㅇ으콭 [1] ㅇㅇ(220.84) 08.24 26 0
2884081 상크티천 [2] ㅇㅇ(220.84) 08.24 29 0
2884080 기모르딱딱슨 [1] ㅇㅇ(220.84) 08.24 30 0
2884079 Hi [1] ㅇㅇ(220.84) 08.24 34 0
2884071 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 27 0
2884070 연명해서 죄송합니다. gy갤로그로 이동합니다. 08.24 43 0
2884069 성능 필요한 코드짤때 앞으로 러스트 짜려나? [1] 프갤러(106.101) 08.24 62 0
2884067 만 3년 프론트 이직성공 [1] 프갤러(123.109) 08.24 69 0
2884066 아니야.. 아니야.. 이게 아니야.. ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 27 0
2884065 나님이 글케 기여운가.. ㅇㅅㅇ 꼬치의달인갤로그로 이동합니다. 08.24 36 0
2884064 편식하지마 세상은 냉정해 프갤러(61.79) 08.24 34 0
2884061 Go 언어 8위, Rust 18위 [1] 나르시갤로그로 이동합니다. 08.24 60 2
2884059 나님 번아웃.. ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 50 0
2884058 유퀴즈에 빌게이츠 왜나옴? [3] ㅇㅇ(106.102) 08.24 68 0
2884057 데이터 확인하니 명확해짐 ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 48 0
2884056 나도 탈갤하고 뉴프로 간다! [2] 헬마스터갤로그로 이동합니다. 08.24 76 1
2884055 하 씨발 탈갤한다 [2] 아스카영원히사랑해갤로그로 이동합니다. 08.24 80 1
2884054 지난 밤 귀뚤맨한테 습격 당해서 잠 제대로 못 잣더니 몸상태 메롱 ♥지나가던냥덩이♥갤로그로 이동합니다. 08.24 40 0
뉴스 '금쪽같은 내 스타' 엄정화X송승헌, 단 2화 만에 시청자 ‘입덕’ 유발한 ‘금쪽’ 재미 포인트 3 디시트렌드 08.22
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2