User Guide
Table Of Contents
- Contents
- About Flash Remoting
- Getting Started
- Using Flash Remoting ActionScript
- Using the RemotingConnector component (Flash Professional only)
- Using Flash Remoting Data in ActionScript
- About Flash Remoting and data types
- Understanding Action Message Format
- Converting from ActionScript to application server data types
- Converting from application server data types to ActionScript
- ColdFusion to ActionScript data conversion issues
- About working with objects
- About working with RecordSet objects
- About working with XML
- The NetConnection Debugger
- Using Flash Remoting with ColdFusion MX
- Using Flash Remoting for Java
- About Flash Remoting for Java
- Calling Java classes or JavaBeans from ActionScript
- Calling Enterprise JavaBeans (EJBs) from Flash
- Calling servlets and JSPs from Flash
- Calling JMX MBeans from Flash (JRun only)
- Calling server-side ActionScript from Flash (JRun only)
- Handling function results in ActionScript
- Using Flash Remoting with JRun security
- Passing XML objects between Flash and Java
- Viewing Flash Remoting log entries
- Using Flash Remoting for Microsoft .NET
- Flash Remoting for Microsoft .NET
- Calling ASP.NET pages from Flash
- Making an ASP.NET page available to Flash Remoting
- Getting a reference to an ASPX-based service in ActionScript
- Invoking ASPX pages in ActionScript
- Using the Flash Remoting custom server control in ASPX pages
- Using the Flash Remoting namespace in code-behind files
- Using ASP.NET state management with Flash Remoting
- Using ASP.NET exception handling
- Using ADO.NET objects with Flash Remoting
- Displaying a RecordSet object in Flash with ActionScript
- Calling web services from Flash
- Calling ASP.NET assemblies from Flash
- Viewing Flash Remoting log entries
- Using NetServices and Connection Classes
- Index

Handling errors for a Connection object 171
Error-handling strategies
Flash applications use error-handling code less often than server applications do, because Flash
does not report errors to the user when the user is viewing SWF files. However, Flash Remoting
does make error information available to the Flash SWF ActionScript, and your application can
use this information. The error-handling hierarchy lets you handle errors with any degree of
granularity. For example:
• You can use a global error handler to log error information if the status event cannot be
otherwise handled.
• You can display a message to the user in response to specific functions or in response to specific
errors returned by specific functions.
Error handling can be particularly useful for remote services, because the user’s experience
depends on remote data that might not always be retrieved, and it might not be obvious that data
is not retrieved. Also, in some cases, the error-handling code can even recover from a transient
error. For example, if a service function fails due to a time-out, it might be appropriate for the
Flash application to try the request a second time. If the request fails a second time, the SWF file
could then display a message to the user and post a message to the server to log the error.
The following example adds error handling to the example presented in “Directing results for a
service to specific responder objects” on page 168. The error handlers for the
helloWorld() and
what() service function calls display custom messages to the user. The general error handler
displays a generalized message.
import mx.remoting.NetServices;
import mx.remoting.Connection;
// initialization code specifies gateway, creates connection, calls service
if (inited == null)
{
inited = true;
NetServices.setDefaultGatewayUrl("http://localhost:8300/flashservices/
gateway")
var gatewayConnection:Connection = NetServices.createGatewayConnection();
// specify this object (this) as the responder object
howdyService =
gatewayConnection.getService("remoteservices");
}
// function specific result handler objects
function helloWorld_Result()
{
this.onResult = function(result){
// display successful result
messageDisplay.text = result;
}
this.onStatus = function(error){
// display successful result
messageDisplay.text = error.description;
}
}
function whatsUp_Result()
{