The exception that is thrown when a TWAIN error occurs.
[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
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.
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
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document