2012-06-01 2 views
0

libpqxx를 사용하고 있지만 다음과 같이 붙어 있습니다. connection_base 클래스 던져 예외는 connection_base.hxx 파일에 따라 :libpqxx C++ 라이브러리 함수가 던진 예외 유형을 추측하는 방법은 무엇입니까?

void disconnect() throw(); 

내 질문은 : 어떻게 throw되는 예외의 종류를 추측 할 수

는 일부 기능은 pqxx를 말할 수? 내가 pqxx::exception, pqxx::sql_error일까요? 포함 파일은 나에게 쓸모없는 것처럼 보입니다. 문서는 Doxygen에서 생성 한 것으로 분명히 도움이되지 않습니다.

답변

1
void disconnect() throw(); 
        ^^^^^^^^^^ 

은 빈 던져 가진 예외 사양이 기능 이 예외를 던져하지 않습니다 있음을 알려줍니다.

당신은 어떤 예외 기능 쇼를 생각해서는 안 중 하나를 함수가 예외를 던질 수 있음을 의미 예외 사양에 포함하지 않아야 (모든 핸들러 catch(...)참고 캐치에 걸려 할 수 있습니다 :이 나쁜 연습입니다) 또는 그것이 던질 수있는 예외를 문서화해야합니다.

적어도이 문서에서는 함수 제공 업체에보고하는 경우 예외를 throw해서는 안된다고 말합니다.

+0

아, 내 C++ 수업에 깊숙이 빠질 것 같아. lib 관리자에게 줄을 놓으려고합니다. 고맙습니다 ! – SCO