In powershell not all errors are terminating errors which are required to trigger the catch block. To make all errors terminating, you can either set -ErrorAction Stop
on individual commands or for the whole session set $ErrorActionPreference = 'Stop'
prior to try/catch block.
CLICK HERE to find out more related problems solutions.