종료 상태는 반드시 os.exit()로 지정해야 하나요? main() 안에서 os.exit()를 호출하면 defer를 쓸 수 없고 다음 진단이 나옵니다:
Error: Unreachable defer statement due to diverging procedure call at the end of the current scope
이 GitHub Discussion에서는 아래 방식을 제안합니다:
Odin의 main 프로시저는 값을 반환할 수 없나요? - GitHub Discussion (https://github.com/odin-lang/Odin/discussions/3097) 예를 들어 C의 int main()을 흉내 내려면 값을 반환하는 run 같은 별도 proc을 만드세요. main은 그 함수를 호출하고 반환된 오류에 맞게 대응하면 됩니다 - 실패 상태로 os.exit()을 호출하거나 애플리케이션에 필요한 다른 동작을 하면 됩니다.
return, defer와 나머지 제어 흐름 구문이 평소처럼 동작하면서 main()이 다른 방법으로 종료 상태를 지정할 수 있나요.