There are several ways to approach your scenario
Since your Expression is full of
AND, @mukeshkala suggested to do the null checking first before executing yours.
However I think that it should be
NOT ( String.IsNullOrEmpty(art) OR String.IsNullOrEmpty(model) OR String.IsNullOrEmpty(Cost))
If = True, then you perform your Condition
You can combine the null checking to your Expression but will make your Expression very long.
Take note that you should use
AndAlso. Some people implements it using Invoke Code.
(not String.IsNullOrEmpty(art) AndAlso art.ToString.Contains("art")) AND (not String.IsNullOrEmpty(model) AndAlso model.ToString.Contains("model")) AND (not String.IsNullOrEmpty(Cost) AndAlso model.ToString.Contains("Cost"))
Stick to your existing implementation, and just
Surround with Try Catch
so that if there is an Exception, you can still perform the False activity in the Catch section.
Hope this helps.