최근에 나는 올바른 점검이 무엇인지, 그리고 적절한 방법이 무엇인지 이해하기 위해 고심하고 있습니다.
이것에 관한 몇 가지 질문이 있습니다.
오류 (잘못된 입력, 잘못된 상태 등)를 확인하는 올바른 방법은 무엇입니까? 오류를 명시 적으로 확인하거나 최종 코드에서 최적화 할 수있는 assert와 같은 함수를 사용하는 것이 더 낫습니까? 어쨌든 대부분의 상황에서 실행해서는 안되는 많은 추가 코드가있는 프로그램을 어수선하게 검사하고 싶습니다. 대부분의 오류는 중단 / 종료 실패로 끝나지 않습니다. 왜 명시적인 검사로 함수를 어지럽히기만하면 중단됩니까? 나는 어설 션 대 명시 적 오류 검사를 찾았으며 언제해야 할지를 진정으로 설명하지 못했습니다.
대부분의 경우 '어설 션을 사용하여 논리 오류를 확인하고 명시 적 검사를 사용하여 다른 오류를 확인하십시오'라고 말합니다. 이것은 우리를 아주 멀리 가지 않는 것 같습니다. 이것이 가능하다고 말할 수 있습니까?
Malloc returning null, check explictly
API user inserting odd input for functions, use asserts
이것이 오류 검사에 더 좋을까요? 다른 무엇을 할 수 있습니까? 저는 '전문적인'코드를 개선하고 더 잘 작성하고 싶습니다.
setjmp
/ longjmp
는 C로 제공되므로 새 언어가 필요하지 않습니다.