2016-09-01 3 views
4

기존 클래스에 changeCompany() 안에 컨트롤을 추가해야합니다.changeCompany 내에서 return을 사용할 때 뭔가 되돌릴 필요가 있습니다

나는 아래의 코드가 좋다고 생각하지만 의심 스럽습니다. "반환"명령은 원래 회사로의 반환을 의미합니까? 또는 revertToPreviousCompany() 같은 것을 알려주는 성명을 추가 할 의향이 있습니까?

try 
{ 
    changeCompany(companyId) 
    { 
     // the method will produce a message and return false if an error 
     if (!this.doSomeChecks()) {    
      return; 
     }   
     // much more code below 

답변

6

일부 상황에서는 런타임 자체가 아니라도 되돌릴 수 없을 수도 있습니다.
전화하고있는 코드 주위에 try - catch의 콜 스택을 상상해보십시오. 코드를 호출하는 코드가 이미 트랜잭션을 설정하면 처리기가 호출되지 않으므로 사용자가 호출하지 않을 것으로 예상됩니다. changeCompany

+0

'changeCompany()'문의 중괄호가 다른 회사가 사용되는 범위를 정의한다고 추가 할 수 있습니다. 그 범위가 남아 있다면 ('return' 문과 함께 질문에서와 같이) 원래의 회사가 다시 사용됩니다. –