See Also

SegmentEventArgs Class  | SegmentEventArgs Members

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP, Windows Server 2003, Windows Vista

Language

Visual Basic

C#

C++

C++/CLI

Show All

See Also Languages PowerTCP Email Validation for .NET

Exception Property

Dart.PowerTCP.EmailValidation Namespace > SegmentEventArgs Class : Exception Property (SegmentEventArgs)

Gets any exception which occurred during the asynchronous operation.

[Visual Basic]
Public ReadOnly Property Exception As Exception
[C#]
public Exception Exception {get;}
[C++]
public: __property Exception* get_Exception();
[C++/CLI]
public: property Exception^ Exception {    Exception^ get(); }

Return Type

If any exception occurred during the asynchronous operation, this property will contain an Exception object describing the exception.

Remarks

Check this property to tell if an exception occurred during the asynchronous operation. If this property is null, no exception occurred.

The exception property is useful for checking exceptions and handling them appropriately. For example, if a bad command was sent to the server, a ProtocolException may be thrown. You could check this property to see if it was of type ProtocolException, than handle appropriately.

Example

The following example demonstrates asynchronous receiving and sending of data.

[Visual Basic] 

Private Sub AsynchTcpDemo()

   ' Attempt to connect to an echo port.
   Try
      Tcp1.Connect("myserver", 7)
   Catch ex As Exception
      Return
   End Try

   ' Send data, since we are connected to an echo port, the same data should be returned.
   ' The following code demonstrates asynchronously sending data. When data has been sent
   ' the EndSend event will be raised.

   Dim buffer() As Byte = System.Text.Encoding.Default.GetBytes("a")
   Tcp1.BeginSend(buffer, 0, buffer.Length, Net.Sockets.SocketFlags.None, Nothing)
End Sub

Private Sub Tcp1_EndSend(ByVal sender As Object, ByVal e As Dart.PowerTCP.SegmentEventArgs) Handles Tcp1.EndSend
   ' Check for exception
   If e.Exception Is Nothing Then

      ' Send is complete. Display info about the data sent.
      Debug.WriteLine("Byte count sent: " + e.Segment.Count)
      Debug.WriteLine("Data sent: " + e.Segment.ToString())

      Dim buffer(Tcp1.ReceiveBufferSize) As Byte

      ' Receive the data. The EndReceive event will be raised upon completion.
      Tcp1.BeginReceive(buffer, 0, buffer.Length, Net.Sockets.SocketFlags.None, Nothing)

    End If
End Sub

Private Sub Tcp1_EndReceive(ByVal sender As Object, ByVal e As Dart.PowerTCP.SegmentEventArgs) Handles Tcp1.EndReceive
   ' Check for exception
   If e.Exception Is Nothing Then

      ' Receive is complete. Display info about the data sent.
      Debug.WriteLine("Byte count received: " + e.Segment.Count)
      Debug.WriteLine("Data received: " + e.Segment.ToString())

      ' Close the connection
      Tcp1.Close()
    End If
End Sub

[C#] 


private void AsynchTcpDemo()
{
   
// Attempt to connect to an echo port.
   
try
   {
       
tcp1.Connect("myserver", 7);
   }
   
catch(Exception ex)
   {
return;}

   
// Send data, since we are connected to an echo port, the same data should be returned.
   
// The following code demonstrates asynchronously sending data. When data has been sent
   
// the EndSend event will be raised.

   
byte[] buffer = System.Text.Encoding.Default.GetBytes("a");
   tcp1.BeginSend(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None,
null);
}

private void tcp1_EndSend(object sender, Dart.PowerTCP.SegmentEventArgs e)
{
   
// Check for exception
   
if(e.Exception == null)
   {
       
// Send is complete. Display info about the data sent.
       
Debug.WriteLine("Byte count sent: " + e.Segment.Count);
       Debug.WriteLine(
"Data sent: " + e.Segment.ToString());
               

       
byte[] buffer = new byte[tcp1.ReceiveBufferSize];
                   
       
// Receive the data. The EndReceive event will be raised upon completion.
       
tcp1.BeginReceive(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None, null);
   }
}

private void tcp1_EndReceive(object sender, Dart.PowerTCP.SegmentEventArgs e)
{
   
// Check for exception
   
if(e.Exception == null)
   {
       
// Receive is complete. Display info about the data sent.
       
Debug.WriteLine("Byte count received: " + e.Segment.Count);
       Debug.WriteLine(
"Data received: " + e.Segment.ToString());

       
// Close the connection
       
tcp1.Close();
   }
}
                

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP, Windows Server 2003, Windows Vista

See Also

SegmentEventArgs Class  | SegmentEventArgs Members


Send comments on this topic.

Documentation version 1.0.3.0.

© 2008 Dart Communications.  All rights reserved.