C에서 오류 분기마다 자원을 정리하는 대신, 함수 끝에 공통 정리 경로를 두고 goto로 이동하면 정리 코드의 중복과 분기별 차이를 줄일 수 있음 Go의 defer 와 Zig의 errdefer 는 자원 정리를 쉽게 해주지만, 이런 기능이 없는 C에서는 오류 처리의 제어 흐름을 미리 설계해야 함 정상 반환문 뒤에 정리 코드를 배치하면 성공 시에는 건너뛰고 오류 시에만 실행하는 유사 errdefer 패턴을 만들 수 있음 개선 예제는 파일 작업 직후 파일 디스크립터를 닫고, 메모리 해제는 하나의 레이블로 모아 오류 분기마다 다른 정리 코드를 작성하지 않도록 함 정리할 자원의 범위가 다르면 여러 레이블로 나눌 수도 있으며, Linux 커널 코딩 스타일 가이드도 함수 종료 경로를 중앙화하는 이 패턴을 다룸 Go와 Zig의 지연 실행 기반 자원 정리 Go에서는 오류를 부가 정보로 감싸 호출 스택 위로 전달하고, 상위 호출자가 처리하도록 할 수 있음 잠금 직후 defer d.Unlock() 을 등록하면 오류로 반환하더라도 잠금을 해제함 수동 메모리 할당을 하지 않으므로 오류 발생 시 할당한 메모리를 직접 해제하는 부담이 없음 Zig는 수동 메모리 관리가 필요하지만, errdefer로 오류 발생 전까지 성공한 할당을 정리할 수 있음 장난감 멀티플렉서의 초기화 예제는 셸 문자열, POSIX 환경 블록, 탭 배열, 파이프 배열을 차례로 할당하고 각각 정리 작업을 등록함 함수가 오류를 반환하면 등록한 작업이 역순으로 실행되므로, 어느 자원을 해제해야 하는지 직접 추적할 필요가 없음 예제는 Reserve First 패턴을 따르며, 모든 할당과 오류 발생 가능 작업을 마친 위치에 errdefer comptime unreachable 을 둠 C에서 오류 분기마다 정리할 때 생기는 복잡성 C에는 defer와 errdefer가 없어, 이에 익숙한 상태에서 오류 처리 흐름을 미리 계획하지 않으면 정리 코드가 복잡해질 수 있음 초기 예제는 포인터 배열을 할당한 뒤, 각 경로마다 구조체 할당, 파일 열기, fstat 호출을 수행하고 파일 크기를 구조체에 저장함 구조체 할당 실패 시에는 현재 인덱스 이전의 구조체만 해제함 파일 열기 실패 시에는 현재 인덱스의 구조체까지 해제하므로 반복 조건이 j < i에서 j <= i로 달라짐 fstat 실패 시에는 같은 메모리 해제에 더해 파일 디스크립터도 닫아야 함 오류 분기마다 정리 범위가 조금씩...
GOTO는 정말 끝내준다(C 오류 처리에서)
4 days ago
13
Related
실직한 기술직 노동자들, 샌프란시스코 AI 호황에서 소외되다
2 hours ago
3
Show HN: Warsaw in voxels - 바르샤바 도심의 인터랙티브 3D 지도
2 hours ago
1
미국에서 남아 이름이 여아 이름으로, 여아 이름이 남아 이름으로 바뀐 사례
2 hours ago
3
Anthropic의 내부 AI 사용액, 소매가격 기준으로 직원 급여 넘어섬
3 hours ago
3
Astra, 가중치를 읽고 수정해 Qwen을 개선할 수 있음
3 hours ago
2
소련 수학 교과서는 왜 미국 교과서보다 훨씬 어려울까? (2017)
4 hours ago
3
Show HN: Subvocal - 소리 내지 않고 컴퓨터에 말하기
4 hours ago
2
좋아하는 웹사이트가 있다면 백업하자
5 hours ago
3
Tips
click
Trending
Popular
승부 가리기엔 11회가 모자랐다…KT, 연장 접전 끝 롯데와 2-2 무승부→매직넘버 2
4 weeks ago
491
임산부석 차지한 노인…다리 깁스한 34주 만삭 임산부는 결국
4 weeks ago
491
“군대 안가” 자랑한 축구대표팀에…안철수 “군대가 혐오시설? 군면제 없애야”
4 weeks ago
483
[ET특징주]펩트론, 일라이릴리 기술평가 종료 소식에 하락세
3 weeks ago
479
은행권 AI 연쇄해킹…공격서버에 ‘중국어 문자열’ 있었다는데
4 weeks ago
478
[美특징주]캠벨·제너럴밀스 등 강세…기술주 이탈해 소비재주로
2 weeks ago
475
이효리, 잔고 10만원·찬물 샤워 '쉬었음 청년' 커플 사연에.."너무 마음 아파"[연애전쟁]
4 weeks ago
379
“왜 슈퍼스타인지 증명했다” 김도영, 9회초 역전 스리런포 작렬…KIA 3위 자리 지켰다
4 weeks ago
377
존슨앤존슨, 켄뷰 분사로 혁신 의약품 집중…목표가 상향-씨티
4 weeks ago
366
[美특징주]레나, 버크셔해서웨이가 지분 매입 소식에 상승
3 weeks ago
361
© Clint's Theme Park 2026. All rights are reserved




![[ET특징주]펩트론, 일라이릴리 기술평가 종료 소식에 하락세](https://img.etnews.com/news/article/2026/10/08/news-p.v1.20261008.b94f10395e00410b8d2a494b9b836893_P1.gif)

![[美특징주]캠벨·제너럴밀스 등 강세…기술주 이탈해 소비재주로](https://image.edaily.co.kr/images/content/defaultimg.jpg)
![이효리, 잔고 10만원·찬물 샤워 '쉬었음 청년' 커플 사연에.."너무 마음 아파"[연애전쟁]](https://image.starnewskorea.com/cdn-cgi/image/f=auto,w=1200,h=1498,fit=cover,q=high,sharpen=2/21/2026/10/2026100508283965845_1.jpg)

English (US) ·