TwainException Class

Summary

The exception that is thrown when a TWAIN error occurs.

Syntax
C#
VB
C++
[SerializableAttribute()] 
public class TwainException : LeadtoolsException 
<SerializableAttribute()> 
Public Class TwainException  
   Inherits LeadtoolsException 
   Implements System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable  
[SerializableAttribute()] 
public ref class TwainException : public LeadtoolsException, System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable   

Remarks

The TwainException class defines a Code property that you can examine to determine what caused the error.

Default messages are implemented for each Code, you can however modify any message through the GetCodeMessage and SetCodeMessage methods.

Example
C#
VB
using Leadtools; 
using Leadtools.Twain; 
 
public void _twainSession_AcquirePage(object sender, TwainAcquirePageEventArgs e) 
{ 
   Application.DoEvents(); 
 
   if (e.Image != null) 
      e.Image.Dispose(); 
 
   e.Cancel = false; 
} 
public void TwainExceptionExample(IntPtr parent) 
{ 
   TwainSession session = null; 
 
   try 
   { 
      // initialize a new TWAIN session 
      session = new TwainSession(); 
      session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None); 
      session.AcquirePage += new EventHandler<TwainAcquirePageEventArgs>(_twainSession_AcquirePage); 
 
      // acquire a page, if paper jam, allow the user to retry 
      bool done = false; 
      while (!done) 
      { 
         try 
         { 
            DialogResult res = session.Acquire(TwainUserInterfaceFlags.Modal | TwainUserInterfaceFlags.Show); 
            MessageBox.Show("Success"); 
            done = true; 
         } 
         catch (TwainException ex) 
         { 
            if (ex.Code == TwainExceptionCode.PaperJam) 
            { 
               if (MessageBox.Show("Paper jam.  Fix and retry?", "TWAIN", MessageBoxButtons.YesNo) == DialogResult.No) 
                  done = true; 
            } 
            else 
            { 
               // other error, propogate 
               throw ex; 
            } 
         } 
      } 
   } 
   catch (TwainException ex) 
   { 
      MessageBox.Show(string.Format("Twain error:{0}Code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message)); 
   } 
   catch (Exception ex) 
   { 
      MessageBox.Show(string.Format("Other error: Message:{0}", ex.Message)); 
   } 
   finally 
   { 
      if (session != null) 
         session.Shutdown(); 
   } 
} 
Imports Leadtools 
Imports Leadtools.Twain 
 
Public Sub _twainSession_AcquirePage(ByVal sender As Object, ByVal e As TwainAcquirePageEventArgs) 
   Application.DoEvents() 
 
   If Not e.Image Is Nothing Then 
      e.Image.Dispose() 
   End If 
 
   e.Cancel = False 
End Sub 
 
Public Sub TwainExceptionExample(ByVal parent As IntPtr) 
   Dim session As TwainSession = Nothing 
 
   Try 
      ' initialize a new TWAIN session 
      session = New TwainSession() 
      session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None) 
      AddHandler session.AcquirePage, AddressOf _twainSession_AcquirePage 
 
      ' acquire a page, if paper jam, allow the user to retry 
      Dim done As Boolean = False 
      Do While Not done 
         Try 
            Dim res As DialogResult = session.Acquire(TwainUserInterfaceFlags.Modal Or TwainUserInterfaceFlags.Show) 
            MessageBox.Show("Success") 
            done = True 
         Catch ex As TwainException 
            If ex.Code = TwainExceptionCode.PaperJam Then 
               If MessageBox.Show("Paper jam.  Fix and retry?", "TWAIN", MessageBoxButtons.YesNo) = DialogResult.No Then 
                  done = True 
               End If 
            Else 
               ' other error, propogate 
               Throw ex 
            End If 
         End Try 
      Loop 
   Catch ex As TwainException 
      MessageBox.Show(String.Format("Twain error:{0}Code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message)) 
   Catch ex As Exception 
      MessageBox.Show(String.Format("Other error: Message:{0}", ex.Message)) 
   Finally 
      If Not session Is Nothing Then 
         session.Shutdown() 
      End If 
   End Try 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Twain Assembly