내가 가끔 생각 기능에 대한 시도 - 캐치 것은, 매우 유용가있을 수있다 :C++의 함수 전체 예외 처리 - 나쁜 스타일입니까?
bool function()
try
{
//do something
}
catch(exception_type & t)
{
//do something
}
그래서 질문의 첫 번째 부분 :이 스타일은 일반적인 경우에 나쁜 생각된다?
그리고 나는이 방법에 사용되는 구체적인 예 : 우리는 C와 C 코드의 꽤 많은 ++로 프로젝트를했다
합니다. 그리고 거기에 우리는 사용자 정의 예외 유형 (std :: exception 파생되지 않음)이 없습니다. XML 라이브러리를 통합하고 모든 유형의 예외를 캐스팅해야했습니다. 그래서 기본적으로 마지막 단계는 XML 라이브러리에서 모든 예외를 포착하여 변환하는 것입니다.
bool readEntity(...)
try
{
while(...)
{
if(...)
{
//lot's of code...
}
}
}
catch(XMLBaseException & ex)
{
//create our exception and throw
}
내 생각이 같은 갔다 :
기능하기 전에 :
bool readEntity(...)
{
while(...)
{
if(...)
{
//lot's of code...
}
}
}
후 나는 명확하게 정의 유형에 한 가지 유형에서 파생 된 모든 예외를 변환하는 나의 의도를 국가와 우리는 계속 우리의 가로 스크롤 막대가없는 화면 (가로 스크롤 막대가 불량 함)
글쎄, 실제로 코드 검토 중 명확하지 않은 코드에 대해서는이 접근법에 대해 상당히 비판적이었다.
여러분의 의견을 듣고 싶습니다.
업데이트 : 리팩터링 기능은 옵션이 아닙니다. 그리고 실제로 그것은 좋은 편지였습니다.
비슷한 질문 (중복되지는 않지만 흥미로울 수 있음) : http://stackoverflow.com/questions/335839/can-you-really-have-a-function-method-without-a-body- but -just-a-try-catch-block –