traperror - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


traperror (and variable lasterror)

trap an error condition

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Calling Sequence

traperror(expr1, expr2, ...)

Parameters

expr1, expr2, ...

-

any expressions

Description

• 

Important: The command traperror and the variable lasterror have been deprecated. Use the superseding construct try...catch...end try to trap errors instead.  The variable lastexception supercedes lasterror.

• 

The traperror command sets an error trap prior to evaluating its arguments.  If an error occurs either during evaluation or during simplification, traperror returns the name, string, or expression sequence corresponding to the error message of the first error occurring.  Each call to traperror clears the lasterror variable before executing.

• 

Otherwise, it simply returns its simplified evaluated arguments.

• 

The most recently occurring error is stored in the variable lasterror. This variable can be manipulated as any other variable. The lasterror variable is useful for checking the results of traperror as in the following.

iftraperror...=lasterrorthen...

  

Note: The traperror command and the lasterror variable must appear in this order.

• 

The following errors cannot be trapped, because they are not something from which a Maple program can reasonably recover.

interrupted

assertion failed

stack overflow

object too large

out of memory

• 

The time expired error, which is generated when the time limit set by the timelimit function expires, can be trapped only outside the call to timelimit.

  

The time expired error is not caught by traperror within a computation being carried out under a time limit. This allows you to time-limit a computation that uses traperror.

Thread Safety

• 

The traperror (and variable lasterror) command is thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

Important: The command traperror and the variable lasterror have been deprecated. Use the superseding construct try...catch...end try to trap errors instead.

fuu21u1

fuu21u1

(1)

printlevel3:

forxin0,1,2dortraperrorfx;ifr=lasterrorthenifr=`division by zero`thenrlimitfu,u=xelseerrorendifendif;lprint`Result: x =`,x,`f(x) =`,renddo

`Result:  x =`, 0, `f(x) =`, 1

Error, numeric exception: division by zero

See Also

error

stoperror

try