con xojo 2019 versione 2 ho provato a causare un eccezione per verificare il funzionamento di Try … Catch End Try ; l’origine dati odbc AS01 non esiste quindi eseguendo il programma va in errore generando una exception; questa exception per, non viene controllata dal catch sottostante l’istruzione conn400.connect ma il programma si ferma proprio su di essa.
cosa pu essere ??
grazie
[code]Function Connetti(utente as text, password as text) As Boolean
var conn400 as ODBCDatabase= new ODBCDatabase
Conn400.DataSource=“AS01”
Conn400.UserName=utente
Conn400.Password=password
try
conn400.Connect
Catch e As DatabaseException
MessageBox (“Errore”)
return False
end try
Return True
End Function[/code]
Ciao @Corrado Zamponi ,
prova a non specificare l’eccezzione:
Function Connetti(utente as text, password as text) As Boolean
var conn400 as ODBCDatabase= new ODBCDatabase
Conn400.DataSource="AS01"
Conn400.UserName=utente
Conn400.Password=password
try
conn400.Connect
Catch
MessageBox ("Errore")
return False
end try
Return True
End Function
grazie Domenico per la risposta,
ho provato ma come prima…
Attenzione che in debug se hai “Break On Exceptions” abilitato si ferma comunque. Ma se continui l’esecuzione l’applicazione non va in crash.
era proprio quello.
GRAZIE a tutti
Se non vuoi disabilitare la verifica in debug delle eccezioni ma vuoi saltare questa perch, ad esempio, hai gi verificato che funziona
puoi inserire prima del try
#Pragma BreakOnExceptions False
e dopo l’end try
#Pragma BreakOnExceptions Auto
In pratica i parametri di #Pragma BreakOnExceptions sono
False se non vuoi andare nel debug quando succede una eccezione (come se disabilitassi da li fino alla fine del metodo il comando “Break On Exceptions” che Massimo ti ha segnalato)
True se vuoi riabilitarle fino alla fine del metodo (a prescindere dall’impostazione “Break On Exceptions”)
Auto se vuoi riabilitarle in base alla scelta dell’impostazione “Break On Exceptions”