Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB6
Expertise: beginner
Jun 3, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Testing a key in a PropertyBag without raising an error

When you pass a non-existing key to the WriteProperty method of the PropertyBag object you get an error 327 "Data value named 'namekey' not found". This is more or less the same error - albeit with a different error code - that you receive when you pass an non-existing key to the Item method of a Collection object, and it seems that you are forced to set up an error handler only to avoid that the error terminates your application:

On Error Resume Next
value = MyPropertyBag.ReadProperty("XYZ")
If Err = 327 Then 
    ' item not found
End If
On Error Resume Next
However, in this respect PropertyBag objects are more flexible than Collection objects, because you can pass a default value as a 2nd argument, and this value is returned if no item with the specified key exists. This lets you simplify the code as follows:

value = MyPropertyBag.ReadProperty("XYZ", Empty)
If IsEmpty(value) Then
    ' item not found
End If
The previous code snippet assumes that no Empty value is stored in the PropertyBag. If this isn't the case you can replace Empty with Null (and test it using the IsNull function) and, more in general, with any string or number that you are 100% sure that isn't stored in the PropertyBag object.
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date