runtime error
Tony Zuccolotto
anthony.zuccolotto at pstnet.com
Thu Aug 7 13:57:58 UTC 2003
Hi Thomas,
This typically occurs when you are using and extended Time Limit on an
input mask with an Input Action set to Jump, but the response comes in
after the Jump destination label has already been passed and the handler
setup for the jump has been disabled.
Jumping is implemented internally using the On Error Goto <label>
statement. When this is statement is executed, and a response comes
in, the system internally sets a flag which instructs the current (or
next) object that running to throw an exception which is caught by the
currently enabled On Error Goto statement handler and in effect force a
jump to the specified label.
A problem can arise if the response comes in, but there is no On Error
Goto handler statement currently active at the time of the response.
Where I have most often seen this is if you are using PreRelease on the
last object in your presentation sequence, but time limit on the input
runs over the total duration of the presentation sequence.
Specifically, say you had the following sequence...
Fixation=500ms
Stimulus=1000ms, Enables an Input Mask with Terminate
Action=Jump (to Label1), and Input Time Limit=2000ms
Mask=1000ms, PreRelease=200ms
Label1:
Feedback
Note that internally the Label1 object has script associated with it
that executes
On Error Goto 0
(which is there to disable any previous On Error Goto handler - you can
read more on this statement in the E-Basic Help)
During execution of the presentation sequence, the Stimulus object
enables a response period that runs for 2000ms, and sets up an On Error
Goto Label1 handler. However, because of the PreRelease on the Mask
object, the Mask object is 'done' executing at 1800ms (the display
remains on screen for the time specified, but at 1800ms execution leaves
the Mask object and execution moves to the next object or script in the
sequence). In this case the next thing to execute is the On Error Goto
0 statement that was setup by the Label1 object. After this statement
is executed there is no longer a jump handler in place within the trial.
Thus, because of the PreRelease on the Mask object, there is a 200ms
period at the very end of the 2000ms response period in which if a
response is made there is no jump handler enabled, and thus the
exception that is generated by the response filters up the chain and is
handled by the default exception handler in the system which issues the
message you are seeing.
To try to replicate this more reliably try responding within the last
few moments of the response period.
Depending on the timing needs of your experiment there are a couple of
ways to fix this.
1) Don't use PreRelease on the Mask object. While PreRelease is
generally recommended, if you don't care that there may be a few msec
delay in the onset of the Feedback object then this is the easiest
solution.
2) Change the Time Limit on the input mask to be the total time you want
minus the value you have specified for the PreRelease on the last object
in the presentation sequence (in the example above you would set this
Time Limit to 1800ms rather than 2000ms).
Hope this helps. There is also a section in the E-Prime User's Guide
(Chapter 3: Critical Timing, Section 3.3.1.1) which outlines the use of
PreRelease and some of the caveats that can occur in specific design
situations.
Regards,
Tony
*** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY
REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS ***
Anthony P. Zuccolotto
Vice President
Psychology Software Tools, Inc.
2050 Ardmore Boulevard
Suite 200
Pittsburgh, PA 15221-4610
Phone 412-271-5040
FAX 412-271-7077
Email anthony.zuccolotto at pstnet.com
Internet http://www.pstnet.com
> -----Original Message-----
> From: Thomas Soerensen [mailto:Thomas.Soerensen at psy.ku.dk]
> Sent: Thursday, August 07, 2003 4:49 AM
> To: eprime at mail.talkbank.org
> Subject: runtime error
>
> Hi,
>
> I am trying to make a version of Sternbergs fast memory search in
e-prime.
> =
> During a blank screen while the subject is reporting the answer I get
a =
> periodic error and I cannot seem to find an explanation for that error
=
> number - So I was wondering whether one of you had experienced it or
know
> =
> why it appears.
>
> The following runtime error occurred
> Input accepted
> Error number: -998
>
>
> - Thomas
>
>
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> Thomas Alrik Soerensen
>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3
> D=
> =3D=3D=3D=3D=3D
> C. M. Larsens All=E9 5
> 2770 Kastrup
> Phone - (+45) 2734 8620
> E-mail - tas at psy.ku.dk
> WWW - http://www.frip.dk/thomsen
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
>
More information about the Eprime
mailing list