Ri: Python: ricevi un messaggio di errore?Per ora, avvolgere la chiamata Python all'interno di Try() è l'opzione migliore.Questo è sicuramente considerato un problema e richiederà alcune indagini per vedere cosa si può fare.
Ri: Python: ricevi un messaggio di errore?Mi è stato detto che ci stanno lavorando. Sono stato in grado di creare codice Python con extra try/except per restituire errori imprevisti a JMP come messaggio di errore. Da Script del browser con Python Selenium
Python Init(); // one-time startup...
// 0: startup
xrc = Python Execute( {}, {By_ID, By_XPATH, rc},
"\[
try:
from selenium import webdriver
...
By_XPATH = By.XPATH
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok", Throw( "start up Selenium failed" || Try( ": " || Char( rc ), "" ) ) );
Sono d'accordo, quel wrapper dovrebbe essere integrato nell'interfaccia di esecuzione. E, per quanto ricordo, c'era una sorta di errore che non rileva, ma ha reso il debug molto più piacevole.
Ri: Python: ricevi un messaggio di errore?Incredibile - grazie mille!
Sicuramente vale la pena entrare nella prossima versione 
@SamGardner ?
Per il momento, sostituirò tutti i miei Invia Python() con Python Prova() 
Per favore, non l'unica rientranza aggiuntiva in lui codice per abbinare il Tentativo nella funzione Python Try, soprattutto perché questa implementazione dell'inoltro degli errori non ha la possibilità di reagire indentazione errori (così come tutti gli altri errori rilevati Prima eseguendo il codice *).
Immagino che il team di Jmp lo implementerà in modo più robusto ...
*) Quindi, se hai un messaggio di errore come questo

potrebbe essere un errore di indentazione. Attenzione a usare il Riformatta lo script funzione 
Python Init();
Python Try = Function( {code},
xrc = Python Execute(
{},
{rc},
"try:" || code || "\[
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok",
Throw( "Python error !
" || Try( Char( rc ), "" ) )
);
);
Python Try( "
print(0)" );
Python Try( "
print(xxx)" );
Python Term()
Ri: Python: ricevi un messaggio di errore?Un altro trucco per il debug di Python:
Invece di
Python Submit("\[
Lorem ipsum dolor sit ametERROR IS HERE, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
]\")dividere il codice includendolo come pacchetto:
Python Submit("<BR />import loremIpsum as li
li()<BR />");Quindi puoi importare lo stesso pacchetto in parallelo in a pythonText.py file e controlla se tutte le funzioni vengono eseguite come previsto.
Quindi il debug JSL può essere ridotto alla parte dell'interfaccia.
Vantaggio aggiuntivo:
Puoi modificare il codice del pacchetto loremIpsum nel tuo editor di testo Python preferito con l'evidenziazione della sintassi e altri espedienti.
Python: ricevi un messaggio di errore?L'integrazione di Python in jmp è molto utile.
Per il debug - quando eseguo un comando in Python tramite
Python Submit()
e ottieni un valore di ritorno -1, che indica che qualcosa è andato storto.
C'è la possibilità che venga visualizzato un messaggio di errore?
ad esempio una variabile Python aggiornata automaticamente, che potrei riportare in JSL tramite
Python Get(PythonErrorMessage)
#lamiaTop10_2022
-> JMP 18 : )
Automazione e scriptingRi: Python: ricevi un messaggio di errore?Come ha indicato Craige, l'uso di try: tranne: è l'opzione migliore. È anche un'ottima pratica di programmazione prendere un'abitudine.
Molto presto presenteremo il JMP 18 a Manchester. Credo che rimarrai piacevolmente sorpreso. Sono stati compiuti sforzi significativi per aggiornare e migliorare l'integrazione di Python.
Rimani sintonizzato...
Re: Python: ricevi un messaggio di errore?Molto interessante la nuova integrazione fluida di Python in Jmp.