PRB: Err.Raise Doesn't Always Generate Expected ErrorLast reviewed: February 26, 1996Article ID: Q129939 |
The information in this article applies to:
SYMPTOMSUsing Err.Raise to generate a specific run-time error may generate a "Application-defined or object-defined error" message rather than the expected text that corresponds to the error number. CAUSE Err.Raise only fills in the Source, Description, HelpFile, and HelpContext properties of the Err object for Visual Basic for Applications errors. For other errors, it returns "Application-defined or object-defined error."
STATUSThis behavior is by design. MORE INFORMATION Err.Raise is useful for generating errors when writing OLE Automation objects because the Err object gives the programmer and user more information than is possible if you generate errors with the Error statement. Whether or not to use Err.Raise in code that is not related to OLE Automation depends on if you want the additional information returned by using Err.Raise versus the Error statment. Err.Raise is most useful for providing the user with information on a user-defined error when writing code for an OLE Automation object; it provides the user with information on a user-defined error. Please see the Raise Method topic in the Visual Basic Help menu for an example on using Err.Raise with user-defined errors in an OLE Automation application. The following example demonstrates the information that can be obtained using Err.Raise such as the Source property, Description property, and other properties of the Err Object. In addition, it shows the differences in behavior of Error.Raise when raising Visual Basic for Applications errors versus non-Visual Basic for Application errors.
Steps to Reproduce Behavior
Visual Basic for Applications ErrorsThe following is a list of Visual Basic for Applications errors. For a complete list of trappable errors, please search for the "Trappable errors" topic in the Help file.
3 Return without GoSub 5 Invalid procedure call 6 Overflow 7 Out of memory 9 Subscript out of range 10 Duplicate definition 11 Division by zero 12 Precision lost converting Variant 13 Type mismatch 14 Out of string space 16 String expression too complex 17 Can't perform requested operation 18 User interrupt occurred 20 Resume without error 28 Out of stack space 35 Sub or Function not defined 47 Too many DLL application clients 48 Error in loading DLL 49 Bad DLL calling convention 51 Internal error 52 Bad file name or number 53 File not found 54 Bad file mode 55 File already open 57 Device I/O error 58 File already exists 59 Bad record length 61 Disk full 62 Input past end of file 63 Bad record number 67 Too many files 68 Device unavailable 70 Permission denied 71 Disk not ready 74 Can't rename with different drive 75 Path/File access error 76 Path not found 91 Object variable not Set 92 For loop not initialized 93 Invalid pattern string 94 Invalid use of Null 423 Property or method not found 424 Object required 430 Class doesn't support OLE Automation 438 Object doesn't support this property or method 440 OLE Automation error 445 Object doesn't support this action 446 Object doesn't support named arguments 447 Object doesn't support current locale setting 448 Named argument not found 449 Argument not optional 450 Wrong number of arguments 451 Object not a collection 452 Invalid ordinal 453 Function not defined in specified DLL 454 Code resource not found 455 Code resource lock error 456 Get and Put cannot be used with arrays 457 Can't create object |
Additional reference words: 4.00 vb4win vb4all
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |