如果没有插入查询,我想在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+"')");
如果我获得相同的会话ID,则查询未执行,因为它是数据库中的主键。
答案 0 :(得分: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?)
}
答案 1 :(得分:2)
<script language="JavaScript">
try
{
colours[2] = "red";
}
catch (e)
{
alert("Oops! Something bad just happened. Calling 911...");
}
</script>
(摘自http://www.devshed.com/c/a/JavaScript/JavaScript-Exception-Handling/)
答案 2 :(得分:2)
try {
// your code that can throw exception goes here
} catch(e) {
//do stuff with the exception
}
仅供参考 - 您发布的代码看起来很好,因为想要一个更好的词,丑陋! (没有冒犯)你不能使用DWR或其他一些JavaScript框架(取决于你的语言选择)隐藏后端的所有数据库连接内容,只需让javascript调用后端代码并做一些事情回应?
答案 3 :(得分: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 */
}