Project

General

Profile

Bug #1703

message stmt expression evaluation

Added by Constantin Asofiei over 11 years ago. Updated over 11 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version:

History

#1 Updated by Constantin Asofiei over 11 years ago

This one is about the fact that errors in message stmt expression evaluation are displayed without throwing an exception. I don't have much about this, as I didn't dig deeper in this issue. Mainly, this issue is about cases like this:

def temp-table tt1 field f as int.
create tt1.
assign tt1.f = 1.
release tt1.

message "tt1.f:" tt1.f. /* stmt#1 - shows "** No tt1 record is available. (91)" error message and then the "tt1.f:" message /
message "done". /
stmt#2 - is executed, as stmt#1 doesn't generate an ERROR */

Normally, when a field for a buffer which doesn't reference any records is accessed, it will generate an ERROR. In case of message statement, it seems that, during expression evaluation, all expressions are evaluated first and if one fails with an ERROR, the expression doesn't get displayed. What needs to be done first is:
- determine if a complex expression which is supposed to generate more then one error message generates only one error message (and if yes, which one) or all the error messages for all expression parts. If only one ERROR condition is generated for the sub-expression, determine if the other sub-expressions are executed (i.e. function/procedure calls) or not.
- determine other cases which generate an ERROR condition during expression evaluation

Also available in: Atom PDF