2009-02-13 4 views
13

Я хочу поймать исключения в javascript, если запрос на вставку не выполняется.Как поймать исключения в javascript?

Я написал код ниже:

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+"')"); 

Если я получаю тот же идентификатор сессии, то этот запрос не был выполнен, так как это первичный ключ в базе данных.

+2

Вы должны дезинфицировать свой пост до того [email protected] получает взломали! : P –

+0

Практически нет смысла, все версии доступны. Я все равно это сделал. –

+0

Да, вам нужно изменить свой пароль для этой учетной записи. Также создание ActiveXObjects в JS пугает меня дерьмом. – annakata

ответ

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 - код вы вывесили выглядит, ну, за неимением лучшего слова, некрасиво! (Без обид) Не могли бы вы использовать DWR или какую-либо другую инфраструктуру JavaScript (в зависимости от вашего выбора языка), чтобы скрыть все компоненты соединения с DB на заднем конце и просто иметь javascript, вызывающий код конца и выполнение чего-либо с ответом?

25

Чтобы быть полным, вот полный состав

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?) 
} 
Смежные вопросы