function A() as Boolean if not B() * Use sErrMsg to warn the user, if desired return .f. endif function B() as Boolean local llSuccess try && Whatever you need .... llSuccess = this.C() .... catch to loException && Optionally you can use When this.bErrorOcurred = .t. this.sErrMsg = loException.Message finally && Whatever you need endtry return llSuccess function C() as Boolean local llSuccess try && Whatever you need .... llSuccess = this.D() .... catch to loException && Optionally you can use When this.bErrorOcurred = .t. this.sErrMsg = loException.Message finally && Whatever you need endtry return llSuccess function D() as Boolean local llSuccess try && Whatever you need .... if not CheckForExistanceOfRecord this.bErrorOcurred = .t. this.sErrMsg = 'Some message indicating the failure to locate the record' endif .... catch to loException && Optionally you can use When this.bErrorOcurred = .t. this.sErrMsg = loException.Message finally && Whatever you need endtry return llSuccess>>>If I create a class, and method A calls method B, which calls C which calls D,