finalizar hilo

tengo la necesidad de interrumpirle la sesion a un usuario de una aplicacion web al momento de un error, pero el problema que no logro resolver es que el hilo sigue corriendo.
por ejemplo:

r = self.SQLSelect(cSQL)
if self.Error then
ErrorGeneral self.ErrorMessage
end if

while not r.eof…

la idea seria que la funcion errorgeneral pueda mostrar una pantalla de error y que se termine ahi, que no continue con el while.
en ese caso puntual con un exit sub estaria, pero lo quiero estandarizar para que mi funcion de errores se ocupe de mostrar el error y finalizar la sesion.

gracias por leer!

bien, para romper un ciclo bucle llamese for, do, while, sub, o function
utiliza la palabra reservada “Exit” sin comillas, en donde quieres que se termine tu ciclo

para tu caso:
ErrorGeneral self.ErrorMessage
Exit while, do , for 'el que tengas

otra opcion de romper un ciclo es con las famosas etiquetas, con las cuales puedes brincar entre el codigo de tu sub o function

Ejemplo:
dim s as …
if … then
end if
etiqueta:
while …
sentencias
Goto etiqueta
wend

esto regresa la lectura del codigo hasta donde este la “etiqueta”

atento a tus comentarios

gracias alberto, entiendo lo que decis, pero lo que necesito es generar una excepcion algo asi como esto:
Dim r As RuntimeException
r = New RuntimeException
r.ErrorNumber = -1
r.Message = “my error message”
Raise r

este codigo que te escribi seria ideal, si pudiera personalizar la pantalla que xojo genera con los botones “Send” “Dont Send”, o sea, quiero lo mismo que tiene xojo pero en espaol y que el boton “Send” me envie el correo a mi, no a xojo.

ok, entiendo.
Has intentado captuarar el error con try … catch ??

par lo que dices de que el email lo manda a xojo; yo probe con una app web en mi hosting y me di cuenta que el mensaje que se manda por esa ventana, se guarda en un archivo.log que se crea al momento de darle Send en tu misma carpeta donde esta tu appweb.

atento a tus comentarios.

barbaro, voy a probar, de ser asi, con esa pantalla me alcanza, ya que puedo generar mi propio error con RuntimeException o capturar con try catch y luego disparar el RuntimeException.
tenes idea si se puede personalizar esa pantalla? por ejemplo pasarla a espaol ?

no he probado el codigo pero creo que resultara.

Exception e as RuntimeException System.Log (System.LogLevelDebug, "Unknown exception in: clsAccount.getKey0_AccLogin " + e.Type + " ." ) MsgBox("An exception in: clsAccount.getKey0_AccLogin" + e.Type + " .")

pasalo al Espaol y me dices si te funciono, espero se entienda la funcion del codigo.

atento a tus comentarios

entiendo y funciona, creo que tengo resuelto el tema.
solo para saber si se puede, tenes idea si la pantalla de error con los botones “send” y “dont send” se puede pasar a espaol aunque sea esos 2 botones?
es por si en algun lugar no puse el Exception o el try, de todos modos con lo que hablamos ya estaria

quiero pensar que si se puede pero creo que es en la compilacion ya que los botones son imagenes.

checare…