[Python] Returning errors from Python to PowerShell?

Discussão em 'Python' iniciado por Stack, Maio 28, 2025.

  1. Stack

    Stack Membro Participativo

    I'm running multiple Python scripts in PowerShell, and I want at specific condition in Python script to notify PowerShell main script. Like throwing an error from Python and catching it with PowerShell.

    Python example:

    import os
    print "Running Python script ..."
    raise Exception("This Error is coming from Python")


    And PowerShell main script:

    $ErrorActionPreference = 'Stop'
    try {
    python runThisScript.py -ErrorAction Stop
    # Write-Error -Message 'Oh no! An error!'
    Write-Host "What is that?"
    } catch {
    Write-Host $_.Exception.Message -ForegroundColor Green
    throw [System.Exception] "Python scrip XXX failed"
    } finally {
    Write-Host "This is the final block ..."
    }


    But this does not work. It will show:

    Running Python script ...
    Traceback (most recent call last):
    File "runThisScript.py", line 5, in <module>
    raise Exception("This Error is coming from Python")
    Exception: This Error is coming from Python
    What is that?
    This is the final block ...


    If I un-comment the line Write-Error -Message 'Oh no! An error!' this is what I want to see (the error is catch and handle by PowerShell).

    Oh no! An error!
    This is the final block ...
    Python scrip XXX failed
    At C:\Automation\general_stuff\tc\mainTestRunner.ps1:12 char:5
    + throw [System.Exception] "Python scrip XXX failed"
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : OperationStopped: :)) [], Exception
    + FullyQualifiedErrorId : Python scrip XXX failed


    Thank you in advance for your comments.

    Continue reading...

Compartilhe esta Página