Leadtools.Wia Namespace : WiaException Class |
[SerializableAttribute()] public class WiaException : Leadtools.LeadtoolsException, System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
'Declaration <SerializableAttribute()> Public Class WiaException Inherits Leadtools.LeadtoolsException Implements System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
'Usage Dim instance As WiaException
public sealed class WiaException : System.Runtime.InteropServices._Exception, ~Remove~
function Leadtools.Wia.WiaException()
[SerializableAttribute()] public ref class WiaException : public Leadtools.LeadtoolsException, System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
The WiaException 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 by using the GetCodeMessage and SetCodeMessage methods.
<Test> _ Public Sub WiaExceptionExample(ByVal parent As IWin32Window) Dim wiaSession As WiaSession = Nothing Try If (Not WiaSession.IsAvailable(WiaVersion.Version1)) Then MessageBox.Show("WIA version 1.0 not installed.") Return End If ' initialize a new WIA wiaSession wiaSession = New WiaSession() wiaSession.Startup(WiaVersion.Version1) Dim res As DialogResult = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault) If res <> DialogResult.OK Then MessageBox.Show("Error selecting WIA device.") wiaSession.Shutdown() Return End If ' acquire a page, if paper jam, allow the user to retry Dim done As Boolean = False Do While Not done Try AddHandler wiaSession.AcquireEvent, AddressOf wiaSession_AcquireEvent2 res = wiaSession.Acquire(parent, Nothing, WiaAcquireFlags.ShowUserInterface Or WiaAcquireFlags.UseCommonUI) MessageBox.Show("Success") done = True RemoveHandler wiaSession.AcquireEvent, AddressOf wiaSession_AcquireEvent2 Catch ex As WiaException If ex.Code = WiaExceptionCode.PaperJam Then If MessageBox.Show("Paper jam. Fix and retry?", "WIA", MessageBoxButtons.YesNo) = DialogResult.No Then done = True End If Else ' other error, propagate Throw ex End If End Try Loop Catch ex As WiaException MessageBox.Show(String.Format("WIA 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 wiaSession Is Nothing Then wiaSession.Shutdown() End If End Try End Sub Private Sub wiaSession_AcquireEvent2(ByVal sender As Object, ByVal e As WiaAcquireEventArgs) Application.DoEvents() If Not e.Image Is Nothing Then e.Image.Dispose() End If e.Cancel = False End Sub
public void WiaExceptionExample(IWin32Window parent) { WiaSession wiaSession = null; try { if (!WiaSession.IsAvailable(WiaVersion.Version1)) { MessageBox.Show("WIA version 1.0 not installed."); return; } // initialize a new WIA wiaSession wiaSession = new WiaSession(); wiaSession.Startup(WiaVersion.Version1); DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault); if (res != DialogResult.OK) { MessageBox.Show("Error selecting WIA device."); wiaSession.Shutdown(); return; } // acquire a page, if paper jam, allow the user to retry bool done = false; while(!done) { try { wiaSession.AcquireEvent += new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent2); res = wiaSession.Acquire(parent, null, WiaAcquireFlags.ShowUserInterface | WiaAcquireFlags.UseCommonUI); MessageBox.Show("Success"); done = true; wiaSession.AcquireEvent -= new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent2); } catch(WiaException ex) { if(ex.Code == WiaExceptionCode.PaperJam) { if(MessageBox.Show("Paper jam. Fix and retry?", "WIA", MessageBoxButtons.YesNo) == DialogResult.No) done = true; } else { // other error, propagate throw ex; } } } } catch(WiaException ex) { MessageBox.Show(string.Format("WIA 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(wiaSession != null) wiaSession.Shutdown(); } } void wiaSession_AcquireEvent2(object sender, WiaAcquireEventArgs e) { Application.DoEvents(); if (e.Image != null) e.Image.Dispose(); e.Cancel = false; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2