The exception that is thrown when a WIA error occurs.
[SerializableAttribute()]public class WiaException : LeadtoolsException
<SerializableAttribute()>Public Class WiaExceptionInherits LeadtoolsExceptionImplements System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable
[SerializableAttribute()]public ref class WiaException : public 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.
using Leadtools;using Leadtools.Wia;public void WiaExceptionExample(IntPtr parent){WiaSession wiaSession = null;try{if (!WiaSession.IsAvailable(WiaVersion.Version1)){MessageBox.Show("WIA version 1.0 not installed.");return;}// initialize a new WIA wiaSessionwiaSession = 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 retrybool 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, propagatethrow 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;}
Imports LeadtoolsImports Leadtools.WiaPublic Sub WiaExceptionExample(ByVal parent As IntPtr)Dim wiaSession As WiaSession = NothingTryIf (Not wiaSession.IsAvailable(WiaVersion.Version1)) ThenMessageBox.Show("WIA version 1.0 not installed.")ReturnEnd If' initialize a new WIA wiaSessionwiaSession = New WiaSession()wiaSession.Startup(WiaVersion.Version1)Dim res As DialogResult = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault)If res <> DialogResult.OK ThenMessageBox.Show("Error selecting WIA device.")wiaSession.Shutdown()ReturnEnd If' acquire a page, if paper jam, allow the user to retryDim done As Boolean = FalseDo While Not doneTryAddHandler wiaSession.AcquireEvent, AddressOf wiaSession_AcquireEvent2res = wiaSession.Acquire(parent, Nothing, WiaAcquireFlags.ShowUserInterface Or WiaAcquireFlags.UseCommonUI)MessageBox.Show("Success")done = TrueRemoveHandler wiaSession.AcquireEvent, AddressOf wiaSession_AcquireEvent2Catch ex As WiaExceptionIf ex.Code = WiaExceptionCode.PaperJam ThenIf MessageBox.Show("Paper jam. Fix and retry?", "WIA", MessageBoxButtons.YesNo) = DialogResult.No Thendone = TrueEnd IfElse' other error, propagateThrow exEnd IfEnd TryLoopCatch ex As WiaExceptionMessageBox.Show(String.Format("WIA error:{0}Code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message))Catch ex As ExceptionMessageBox.Show(String.Format("Other error: Message:{0}", ex.Message))FinallyIf Not wiaSession Is Nothing ThenwiaSession.Shutdown()End IfEnd TryEnd SubPrivate Sub wiaSession_AcquireEvent2(ByVal sender As Object, ByVal e As WiaAcquireEventArgs)Application.DoEvents()If Not e.Image Is Nothing Thene.Image.Dispose()End Ife.Cancel = FalseEnd 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
