Currently many PowerCLI cmdlets return a rather general VimException when something goes wrong.
Often the ErrorId and ErrorCategory provide more details on the exception that was fired.
But to improve error handling (in Try-Catch constructs) it would be easier to fire more specific exceptions instead of the general VimException.
For example, a Get-VM -Name xyz, where the VM XYZ does not exist, returns a VimException and an ErrorCategory ObjectNotFound.
It would be more "PowerShell" friendly, to have in that case an exception of a type like VimException.ObjectNotFound.