JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
ToolTalk User's Guide
search filter icon
search icon

Document Information

Preface

1.  Introducing the ToolTalk Service

2.  An Overview of the ToolTalk Service

3.  Message Patterns

4.  Setting Up and Maintaining the ToolTalk Processes

5.  Maintaining Application Information

6.  Maintaining Files and Objects Referenced in ToolTalk Messages

7.  Participating in ToolTalk Sessions

8.  Sending Messages

9.  Dynamic Message Patterns

10.  Static Message Patterns

11.  Receiving Messages

12.  Objects

13.  Managing Information Storage

14.  Handling Errors

Retrieving ToolTalk Error Status

Checking ToolTalk Error Status

Returned Value Status

Functions with Natural Return Values

Functions with No Natural Return Values

Returned Pointer Status

Returned Integer Status

Broken Connections

Error Propagation

A.  Migrating from the Classing Engine to the ToolTalk Types Database

B.  A Simple Demonstration of How the ToolTalk Service Works

C.  The ToolTalk Standard Message Sets

D.  Frequently Asked Questions

Glossary

Index

Returned Pointer Status

If an error occurs during a ToolTalk function that returns a pointer, the ToolTalk service provides an address within the ToolTalk API library that indicates the appropriate Tt_status code. To check whether the pointer is valid, you can use the ToolTalk macro tt_ptr_error. If the pointer is an error value, you can use tt_status_message to get the Tt_status character string.

checks the pointer and retrieves and prints the Tt_status character string if an error value is found.

Example 14-2 Retrieving a Returned Pointer Status

char *old_spec_id, new_file, new_spec_id, my_application_name;
Tt_status tterr;

new_spec_id = tt_spec_move(old_spec_id, new_file);
tterr = tt_ptr_error(new_spec_id);
switch (tterr) {
    case TT_OK:
    /*
     * Replace old_spec_id with new_spec_id in my internal
     * data structures.
     */
    update_my_spec_ids(old_spec_id, new_spec_id);
    break;
    case TT_WRN_SAME_OBJID:
    /*
     * The spec must have stayed in the same filesystem,
     * since ToolTalk is reusing the spec id. Do nothing.
     */
    break;
    case TT_ERR_FILE:
    case TT_ERR_ACCESS:
    default:
    fprintf(stderr, “%s: %s\n”, my_application_name,
        tt_status_message(tterr));
    break;
}