How do I catch errors/exceptions from the OCX/COM components (XpdfViewer, XpdfPrint, etc.)?
Applies to: XpdfInfo, XpdfText, XpdfViewer, XpdfPrint, XpdfRasterizer, XpdfAnalyze, XpdfPS, XpdfImageExtract
The Xpdf OCX/COM components use standard COM exceptions.
To catch exceptions in VB6:
On Error GoTo err
...
XpdfPrintObj.loadFile fileName
...
err:
If Err = XpdfPrintObj.errOpenFile Then
' ... couldn't open the file ...
End If
In VB.net:
Try
XpdfPrintObj.loadFile(fileName)
Catch e As System.Runtime.InteropServices.COMException
If e.ErrorCode = XpdfPrintObj.errOpenFile Then
' ... couldn't open the file ...
End If
End Try
In C#:
using System.Runtime.InteropServices;
...
try {
XpdfPrintObj.loadFile(fileName);
} catch (COMException e) {
if (e.ErrorCode == XpdfPrintObj.errOpenFile) {
// ... couldn't open the file ...
}
}
In unmanaged C++:
try {
XpdfPrintObj->loadFile(fileName);
} catch (_com_error e) {
if (e.Error() == XpdfPrintObj->errOpenFile) {
// ... couldn't open the file ...
}
}