예외 처리 2
-
1.2.4 예외처리 C++는 유연한 언어이기는 하지만 딱히 안전한 언어는 아니다. 작성한 코드가 엉뚱한 메모리 영역을 헤집거나, 0으로 나누기(컴퓨터가 표현 불가)를 시도해도 컴파일러가 걸러주지 않는다. C+의 익셉션(exeption)은 코드의 안정성을 높이기 위해 언어차원에서 제공되는 기능이다. 익셉션 : 예상치 못한 상황 웹페이지를 가져오는 함수를 작성할 때, 페이지를 서비스하는 인터넷 호스트가 다운되었을 수도 있고, 페이지가 없어지거나, 연결이 해제되어버릴 수도 있다. 많은 프로그래밍 언어에서 함수의 리턴값을 nullptr이나 특별한 에러코드에 매핑하는 방법으로 대응한다. 그러나 익셉션은 더 쉽게 처리할 수 있다. 익셉션에서는 몇가지 새로운 용어가 도입되었다. 특정 코드가 예외적인 상황을 인지하면 ..
-
C++에서 프로그래밍을 할 때 컴파일때는 오류가 발생하지 않다가. 프로그래밍 자체의 실수로 범위값 설정이 잘못되어 오류가 나타나는 경우가 생겨난다. 이는 코드 자체의 오류점이며, 컴파일 시에 확인되지 않기 때문에 프로그래머가 찾기가 힘든 경우가 매우 많다. 이때 사용하는 함수가 Assert 함수이다. 이는 프로그램이 실행중에 조건을 확인하고, 만일 Assert 함수에 지정된 조건일 경우 프로그램을 터트리고 오류를 출력한다. assert를 사용하기 위해서는, cassert 라이브러리 를 사용해야 한다. 다음은 assert 함수를 사용한 예시 코드이다. assert를 사용하면 특정 조건에 만족 할 경우 오류를 출력한다. 만약, 컴파일 전에 오류가 나도록 하고싶다면, assert를 static 처리해주면 된다..