non-terminating error

is there a way to log a non-terminating error without forcing the script to stop with ‘-ErrorAction Stop’

You can use the -ErrorVariable parameter, and check for any records in that variable after the command exits:

Do-Something -ErrorVariable myErrors

if ($myErrors)
{
    # handle errors
}