the123punch Posted October 21, 2008 Share Posted October 21, 2008 (edited) Hello everyone,I am getting better and better at AutoIt but I am still at the newbie level lets say so I have to ask the following question:I am trying to implement some sort of error handling in my autoit script. I have seen on this forum that some people do it in that way:Declaring the error object:Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")Having the error handling function:; Com Error HandlerFunc MyErrFunc() $HexNumber = Hex($oMyError.Number, 8) $strMSG = "Error Number: " & $HexNumber & @CRLF $strMsg &= "WinDescription: " & $oMyError.WinDescription & @CRLF $strMsg &= "Script Line: " & $oMyError.ScriptLine & @CRLF MsgBox(0, "ERROR", $strMSG) SetError(1)EndfuncSo if I am not mistaken, this should pop a message box with the error information if an error happens during my script.The reason I need this is that I have some SQL statements in my code that will insert new rows into a db table and for some reason it is not inserting, so I am assuming some sort of error could be happening.After adding the above code, when I compile, and I try to run, my AutoIt application does not run and I get the following error when I run the resulting .exe:Line -1:Error: Variable must be of type "Object".What am I missing? What am I doing wrong? Can anyone help?Thanks.the123punch Edited October 21, 2008 by the123punch Link to comment Share on other sites More sharing options...
Richard Robertson Posted October 21, 2008 Share Posted October 21, 2008 Why not run the source au3 file and find out what line the error occurs at. Perhaps you are making a different kind of mistake. Link to comment Share on other sites More sharing options...
WSorich Posted April 15, 2009 Share Posted April 15, 2009 Try this, it worked for me. Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ;---------------------------------------------------------------------------------------------------------- ; Com Error Handler ;---------------------------------------------------------------------------------------------------------- Func MyErrFunc() Local $HexNumber Local $strMsg $HexNumber = Hex($oMyError.Number, 8) $strMsg = "Error Number: " & $HexNumber & @CRLF $strMsg &= "WinDescription: " & $oMyError.WinDescription & @CRLF $strMsg &= "Script Line: " & $oMyError.ScriptLine & @CRLF MsgBox(0, "ERROR", $strMsg) SetError(1) Endfunc Link to comment Share on other sites More sharing options...
autoitnewbie123 Posted July 20, 2009 Share Posted July 20, 2009 Try this, it worked for me.Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc");----------------------------------------------------------------------------------------------------------; Com Error Handler;----------------------------------------------------------------------------------------------------------Func MyErrFunc() Local $HexNumber Local $strMsg $HexNumber = Hex($oMyError.Number, 8) $strMsg = "Error Number: " & $HexNumber & @CRLF $strMsg &= "WinDescription: " & $oMyError.WinDescription & @CRLF $strMsg &= "Script Line: " & $oMyError.ScriptLine & @CRLF MsgBox(0, "ERROR", $strMsg) SetError(1)Endfuncnewbie here. Why do you need to setError to 1? Link to comment Share on other sites More sharing options...
CooperWu Posted March 22, 2012 Share Posted March 22, 2012 Can't catch this error:---------------------------AutoIt Error---------------------------Line 17 (File "D:__MyLocalWorkAutoIT3_ScriptsDetectProcess.au3"):$objProcess.GetOwner($user)$objProcess.GetOwner($user)^ ERRORError: The requested action with this object has failed.---------------------------OK ---------------------------Try this, it worked for me.Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc");----------------------------------------------------------------------------------------------------------; Com Error Handler;----------------------------------------------------------------------------------------------------------Func MyErrFunc() Local $HexNumber Local $strMsg $HexNumber = Hex($oMyError.Number, 8) $strMsg = "Error Number: " & $HexNumber & @CRLF $strMsg &= "WinDescription: " & $oMyError.WinDescription & @CRLF $strMsg &= "Script Line: " & $oMyError.ScriptLine & @CRLF MsgBox(0, "ERROR", $strMsg) SetError(1)Endfunc Link to comment Share on other sites More sharing options...
water Posted March 22, 2012 Share Posted March 22, 2012 Make sure that the lineGlobal $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")is at the top of your script. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
water Posted March 22, 2012 Share Posted March 22, 2012 Another change is needed: Func MyErrFunc()should beFunc MyErrFunc($oMyError) My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
erm3nda Posted June 22, 2014 Share Posted June 22, 2014 Does this capture an error like: msbox(blah) ?? (bad syntax) I need the simplest way to detect any error and retry the func again or retry whole app if needed. Regards. ~ SELF SIGNED ~ How much warning points do i need to get my free spicy hammon? Link to comment Share on other sites More sharing options...
guinness Posted June 22, 2014 Share Posted June 22, 2014 Is this your thing? Complaining that something doesn't work across the Forum without actually showing us what isn't working. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
erm3nda Posted July 14, 2014 Share Posted July 14, 2014 guinness Yes it is. Im reading this post to know how to catch some errors. Just searching for something like try/catch. I cannot tell you what is failing because i don't know, and a lot of sensitive info is involved, so i cannot put here the full source. When i can made a example script reproducing the error you will know. I Apologize. Can you point me to the correct way (documentation) to handle with errors? Regards. ~ SELF SIGNED ~ How much warning points do i need to get my free spicy hammon? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now