Tutorial Developer Reference 1 Introduction 2 Interface 3 Scanner 4 Parser 5 Analyser 6 Tangle 7 Weave 8 Shell 9 Commands 10 Glossary 11 References SEARCH

8.2 Return Statuses

The hierarchy of diagnostics is also used in the shell commands. Each shell command returns a status which can affect further processing.

> Success status is the normal command return status.

> Warning status is returned if some minor problem arose with the execution of the command.

> Error status is returned if a significant problem arises during the execution of the command. However, unlike a severe error, it does not cause termination of the enclosing shellscript.

> Severe error status is returned if a problem arises during the execution of the command that prevents the command from delivering on its "promise". A severe error causes FunnelWeb to abort the script (and any stacked scripts) to the interactive level. (However, the `tolerate` command allows this to be temporarily overridden).

> Fatal error status is returned if a problem arises that is so serious that execution of FunnelWeb cannot continue. A fatal error causes FunnelWeb to abort to the operating system level.

> Assertion error status is never returned. If an assertion error occurs, FunnelWeb bombs out ungracefully to the operating system. Assertion errors should never happen. If they do, then there is a bug in FunnelWeb.

To be precise, the status returned by each command is a vector of numbers being the number of each of the different kinds of diagnostic generated by the command. Usually only one kind of diagnostic is generated. However, the `fw` command and a few of the other commands can generate more than one kind of diagnostic. These status vectors are summed internally where they may later be accessed using the `status` command. However, the current diagnostic state evaporates as soon as the next command is encountered.

Webmaster Copyright © Ross N. Williams 1992,1999. All rights reserved.