2009-02-13 11 views
13

Quiero detectar excepciones en javascript si no se realiza una consulta de inserción.¿Cómo atrapar excepciones en javascript?

He escrito el código abajo:

var adoConn = new ActiveXObject("ADODB.Connection"); 
var adoRS = new ActiveXObject("ADODB.Recordset"); 
var rec = new ActiveXObject("ADODB.Record"); 
adoConn.Open="DRIVER={MySQL ODBC 3.51 Driver};SERVER=172.25.37.145;" + "DATABASE=confluence;UID=root;PASSWORD=somePassword;OPTION=3"; 
//Connectionstring 
alert('Database Connected'); 
adoConn.Execute("insert into `session` (SessionId,Timestamp) values ('"+SessionId+"','"+SessionCurrenttime+"')"); 

Si consigo mismo identificador de sesión a continuación, la consulta no fue ejecutado, ya que es la clave principal de la base de datos.

+2

Usted debe desinfectar su cargo antes [email protected] pirateada! : P –

+0

Casi no tiene sentido, todas las revisiones están disponibles. Lo he hecho de todos modos. –

+0

Sí, necesita cambiar su contraseña para esa cuenta ahora. También crear ActiveXObjects en JS me asusta. – annakata

Respuesta

1
try { 
    adoConn.Execute("insert into session (SessionId,Timestamp) values ('" 
        + SessionId + "','" 
        + SessionCurrenttime + "')"); 
} catch(e) { 
    /*use error object to inspect the error: e.g. return e.message */ 
} 
3
try { 
    // your code that can throw exception goes here 
} catch(e) { 
    //do stuff with the exception 
} 

FYI - el código que envió miradas, bueno, a falta de una palabra mejor, feo! (Sin ofender) ¿No podría usar DWR o algún otro marco de JavaScript (dependiendo de su elección de idioma) para ocultar todo el material de conexión de DB en la parte de atrás y simplemente tener el javascript llamando al código de fondo y hacer algo con la respuesta?

25

Para ser completa, aquí está la estructura completa

try { 
    // your code that can throw exception goes here 
} catch(e) { 
    //do stuff with the exception 
} finally { 
    //regardless if it worked or not, do stuff here (cleanup?) 
} 
Cuestiones relacionadas