No Joy using FileSystemWatcher Error event

I'm working with the .NET FileSystemWatcher Class and all is working well - except for when it's not. :(

I've been searching for days now, and I'm not finding much information about using the Class Error event.

The best I've found is this C# example of using the ErrorEventArgs Class, but I'm having no success leveraging that into logging any errors that might be getting thrown when the logging stops.

The example presents one specific situation - what I want to do is log any error event that is thrown.

Here's the development / testing code from my Error event action block:

Write-Host
Write-Host
Write-Host
Write-Host "inside Error handler at "+ $Event.TimeGenerated 
Write-Host "-------------------"
Write-Host

Write-Host "`$Event | Out-Host"
$event | Out-Host
Write-Host "-------------------"
Write-Host

Write-Host "`$Object | Out-Host"
$Object | Out-Host # Empty as expected
Write-Host "-------------------"
Write-Host

Write-Host "`$Event.SourceEventArgs | Out-Host" 
$Event.SourceEventArgs  | Out-Host # Empty?! not like Event
# ??? lists: System.IO.ErrorEventArgs
Write-Host "-------------------"
Write-Host


Write-Host "`$Event.SourceEventArgs.GetException() | Out-Host" 
$Event.SourceEventArgs.GetException()  | Out-Host # Empty?! not like Event
Write-Host "-------------------"
Write-Host

Write-Host "`$Event.SourceEventArgs.GetType() | Out-Host" 
$Event.SourceEventArgs.GetType()  | Out-Host # Empty?! not like Event
Write-Host "-------------------"
Write-Host

Write-Host "`$Event.SourceEventArgs.ToString() | Out-Host" 
$Event.SourceEventArgs.ToString()  | Out-Host # Empty?! not like Event
Write-Host "-------------------"
Write-Host


Write-Host "`$Event.SourceArgs | Out-Host" 
$Event.SourceArgs  | Out-Host # 2 Hash Tables; Sender and SourceEventArgs
write-host "`$Event.SourceArgs.Count " $Event.SourceArgs.Count | Out-Host # 2

here's what happens when the monitored folder disappears (that's how I'm forcing an error);

inside Error handler at  + 3/12/2020 6:22:19 PM
-------------------

$Event | Out-Host


ComputerName     :
RunspaceId       : 0d4b0e74-fcb2-4785-8004-ebdab978c50d
EventIdentifier  : 55
Sender           : System.IO.FileSystemWatcher
SourceEventArgs  : System.IO.ErrorEventArgs
SourceArgs       : {System.IO.FileSystemWatcher, System.IO.ErrorEventArgs}
SourceIdentifier : QCast4
TimeGenerated    : 3/12/2020 6:22:19 PM
MessageData      :



-------------------

$Object | Out-Host
-------------------

$Event.SourceEventArgs | Out-Host
System.IO.ErrorEventArgs
-------------------

$Event.SourceEventArgs.GetException() | Out-Host
Access is denied
-------------------

$Event.SourceEventArgs.GetType() | Out-Host

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    ErrorEventArgs                           System.EventArgs


-------------------

$Event.SourceEventArgs.ToString() | Out-Host
System.IO.ErrorEventArgs
-------------------

$Event.SourceArgs | Out-Host


NotifyFilter          : FileName, DirectoryName, LastWrite
EnableRaisingEvents   : False
Filter                : *.*
IncludeSubdirectories : True
InternalBufferSize    : 8192
Path                  : H:\Documents\randy\FileSystemWatcher\Test\QCast
Site                  :
SynchronizingObject   :
Container             :

System.IO.ErrorEventArgs


$Event.SourceArgs.Count  2

What I'm looking for is how to get information out of the thrown error object.