Using Try & Catch to solve exception
This question is highly specific to the Autodesk Inventor SDK.

While it's not really nice way to check if a property exists, it's documented by Autodesk 
Inventor as the way to do it, since there's not a simple "Check if a property exists" method on the property set (which is very stupid).

The sample in VBA (not VB.Net) that Autodesk Provides can be found there

The main reason being that catching an Exception can be slower than checking if a method exists. 

So in theory if you use this a lot (e.g. 1000 times in a loop), it may be theoreticaly be cleaner/faster/better, to first check which properties are defined, using the method:

PropertySet.PropertyInfo()


And check if the property exists.

That being said, Inventor may or may not use a COM+ interface which is not too fast. 

If performance is not an issue, a practical advice can be to try to set the property and otherwise add it, if it does not exist.