developer_guide:voicexml_references:elements:catch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developer_guide:voicexml_references:elements:catch [2015/10/13 21:25] (current)
borja created
Line 1: Line 1:
 +====== < catch > ======
 +
 +===== Description =====
 +The <catch> element catches events thrown from the VoiceXML application or the platform.  The <catch> element associates a catch with a document, dialog or form item and contains executable content.  The <catch> element catches an event with the name that either matches exactly with the event attribute or a prefix match.  A prefix match means the event attribute is a token prefix of the thrown event, where the dot is the token separator. For example, <catch event="telephone.disconnect"> is a prefix match for event telephone.disconnect.transfer.  Please refer to Event Handling for the list of events and errors.
 +
 +===== Syntax =====
 +<code>
 +<catch
 +event="event1 event2 ..."
 +count="Integer"
 +cond="ECMAScript_Expression">
 +child elements
 +</catch>
 +</code>
 +
 +===== Attributes =====
 +|event|This attribute indicates the event or events to catch.  A space-separated list of events may be specified to catch multiple events.  The empty string matches all events.  This attribute is required.|
 +|count|The count attribute allows you to handle different occurrences of the same event differently.  Each <form>, <menu> and form item maintains a counter for each event that occurs while it is being visited.  These counters are reset each time the <form> or <menu> is re-entered.  When there is more than one <catch> element catching the same event, it will visit the element with a smallest count that is greater or equal to the current counter.  This attribute is optional.|
 +|cond|The cond attribute is a Boolean condition that must evaluate to true in order for the <catch> element to catch the event.  This attribute is optional.|
 +
 +===== Anonymous Variables =====
 +There are two anonymous variables that are available within the scope of the <catch> element:
 +  * _event - the variable that contains the name of the event that was thrown.
 +  * _message - the variable that contains the message string from the corresponding <throw> element, or a platform-defined value for events raised by the platform.
 +
 +===== Parents =====
 +<code>
 +<field>, <form>, <initial>, <menu>, <object>, <record>, <subdialog>, <transfer>, <vxml>
 +</code>
 +
 +===== Children =====
 +<code>
 +<assign>, <audio>, <clear>, <disconnect>, <enumerate>, <exit>, <goto>, <if>, <prompt>, <reprompt>, <return>, <script>, <submit>, <throw>, <value>, <var>
 +</code>
 +
 +===== Extensions =====
 +<code>
 +None.
 +</code>
 +
 +===== Limitations/Restrictions =====
 +<code>
 +None.
 +</code>
 +
 +===== Example Code =====
 +<code>
 +<?xml version="1.0"?>
 +<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
 + <form>
 +  <grammar> goodbye </grammar>
 +  <catch event="goodbye">
 +   Thanks for using this script, goodbye.
 +   <disconnect/>
 +  </catch>
 +  <field name="password">
 +    <prompt> what is the code word </prompt>
 +    <grammar> apple </grammar>
 +    <help> It is the name of a fruit </help>
 +    <catch event="noinput"> I did not hear you. </catch>
 +    <catch event="nomatch" count="1"> Noop. Try again </catch>
 +    <catch event="nomatch" count="2"> Noop. give another try </catch>
 +    <catch event="nomatch" count="3">
 +     Sorry. You didn't get it for three times. Bye
 +     <disconnect/>
 +    </catch>
 +   <filled>
 +    <if cond="password=='goodbye'">
 +     <throw event="goodbye"/>
 +    <else/>
 +     This is correct.
 +    </if>
 +   </filled>
 +  </field>
 + </form>
 +</vxml>
 +</code>
  
  • developer_guide/voicexml_references/elements/catch.txt
  • Last modified: 2015/10/13 21:25
  • by borja