Leadtools.Twain Namespace : TwainException Class |
[SerializableAttribute()] public class TwainException : Leadtools.LeadtoolsException, System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
'Declaration <SerializableAttribute()> Public Class TwainException Inherits Leadtools.LeadtoolsException Implements System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
'Usage Dim instance As TwainException
[SerializableAttribute()] public ref class TwainException : public Leadtools.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.
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 IWin32Window) 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
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(IWin32Window 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(); } }