Menu
Coddy logo textTech

panic 이해하기

Coddy GO 여정의 로직 & 흐름 섹션에 포함된 레슨. 68개 중 42번째.

Go에서 panic은 프로그램이 복구할 수 없는 오류를 만나 즉시 중지해야 하는 정말 예외적인 상황에 사용되는 내장 함수입니다. 정상적인 오류는 우아하게 처리하지만, panic은 프로그램의 로직이나 환경에 근본적으로 무언가 잘못되었음을 나타내는 치명적인 실패를 위해 사용됩니다.

panic이 호출되면 현재 함수의 정상적인 실행을 즉시 중지하고 호출 스택을 언와인딩하기 시작합니다. 이 점 때문에 호출 코드에서 처리할 수 있는 오류를 반환하는 일반적인 Go 방식과는 매우 다릅니다.

관용적인 Go에서는 panic을 거의 사용하지 않습니다. Go 커뮤니티는 panic 기반 오류 처리보다 return 값을 통한 명시적인 오류 처리를 강력하게 선호합니다. 배열의 범위를 벗어난 위치에 접근하거나, nil 포인터를 역참조하거나, 라이브러리가 프로그래밍 버그를 나타내는 불가능한 상태를 감지하는 경우 등에 panic을 접할 수 있습니다.

대부분의 Go 프로그램은 지금까지 배운 표준 error 인터페이스를 사용하여 오류를 우아하게 처리해야 합니다. 프로그램이 계속 실행될 합리적인 방법이 정말로 없을 때만 panic을 고려해야 합니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직 & 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Go 컴파일러