소개
panic 랩은 Golang 에서 예기치 않은 오류를 처리하는 능력을 테스트하도록 설계되었습니다.
Panic (패닉)
이 랩은 정상적인 작동 중에 발생해서는 안 되거나, 우아하게 처리할 준비가 되지 않은 오류에 대해 panic 함수를 사용하여 빠르게 실패하도록 요구합니다.
- Golang 프로그래밍 언어에 대한 기본적인 지식.
- Golang 에서의 오류 처리에 대한 익숙함.
- Golang 의
panic함수에 대한 이해.
## 이 프로그램을 실행하면 패닉이 발생하고,
## 오류 메시지와 고루틴 추적이 출력되며,
## 0 이 아닌 상태로 종료됩니다.
## `main` 에서 첫 번째 패닉이 발생하면, 프로그램은
## 나머지 코드에 도달하지 않고 종료됩니다. 임시 파일을
## 생성하려는 프로그램을 보려면 첫 번째 패닉을
## 주석 처리하십시오.
$ go run panic.go
panic: a problem
goroutine 1 [running]:
main.main() /.../panic.go:12 +0x47
...
exit status 2
## 일부 언어와 달리, 많은 오류 처리에 예외를 사용하는 대신,
## Go 에서는 가능한 경우 오류를 나타내는 반환 값을 사용하는 것이 관용적입니다.
전체 코드는 다음과 같습니다.
// `panic` 은 일반적으로 예상치 못한 일이
// 잘못되었음을 의미합니다. 대부분의 경우, 정상적인 작동 중에
// 발생해서는 안 되거나, 우아하게 처리할 준비가
// 되지 않은 오류에 대해 빠르게 실패하기 위해 사용합니다.
package main
import "os"
func main() {
// 이 사이트 전체에서 예상치 못한 오류를 확인하기 위해
// panic 을 사용합니다. 이것은 panic 하도록 설계된
// 사이트의 유일한 프로그램입니다.
panic("a problem")
// panic 의 일반적인 사용 사례는 함수가
// 처리 방법을 모르거나 (또는 원하지 않는)
// 오류 값을 반환하는 경우 중단하는 것입니다.
// 새 파일을 생성할 때 예상치 못한 오류가 발생하면
// `panic` 하는 예시입니다.
_, err := os.Create("/tmp/file")
if err != nil {
panic(err)
}
}
요약
이 랩에서는 Golang 에서 예기치 않은 오류를 처리하기 위해 panic 함수를 사용하는 방법을 배웠습니다. 필요할 때만 panic을 사용하고, 가능한 경우 오류를 우아하게 처리하는 것을 기억하십시오.