Ответ 1
Чтобы быть полным, здесь полная структура
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?)
}
Я хочу перехватывать исключения в 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+"')");
Если я получаю один и тот же идентификатор сеанса, запрос не выполнялся, так как он является основным ключом в базе данных.
Чтобы быть полным, здесь полная структура
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?)
}
<script language="JavaScript">
try
{
colours[2] = "red";
}
catch (e)
{
alert("Oops! Something bad just happened. Calling 911...");
}
</script>
(Ripped from http://www.devshed.com/c/a/JavaScript/JavaScript-Exception-Handling/)
try {
// your code that can throw exception goes here
} catch(e) {
//do stuff with the exception
}
FYI - код, который вы отправили, выглядит, ну, из-за лучшего слова, уродливого! (Без обид) Не могли бы вы использовать DWR или какую-либо другую структуру JavaScript (в зависимости от вашего выбора языка), чтобы скрыть все соединения с DB назад и просто иметь javascript, вызывающий код конца кода и что-то делать с ответом?
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 */
}