前言
JavaScript在错误处理调试上会用到try…catch语句。
好处:良好的错误机制可以及时的提醒用户,知道发生了什么事,而不会惊慌失措。为此,作为开发人员,我们必须理解在处理JavaScript错误的时候,都有哪些手段和工具可以利用。
try…catch语句
try{ //尝试着执行try包含的代码
window.abcdefg(); //不存在的方法
}catch(e){ //如果有错误,执行catch,e是异常对象
alert('发生错误了,错误信息为:' + e); //直接打印调用toString()方法
}
效果图
finally子句
finally语句作为try…catch的可选语句,不管是否发生异常,它都会执行。并且不管try或是catch里是否包含return语句,也不会阻止finally执行。finally的作用一般是为了防止出现异常后,释放资源等操作无法执行。
try{
window.abcdefg();
}catch(e){
alert('发生错误了,错误信息为:'+e);
}finally{
alert('我都会执行!');
}
后台连接数据库应用代码
SqlConnection conn = new SqlConnection("server=.;database=Login;uid=sa;pwd=jujianfei");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into Login";
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (SqlException ex1)
{
MessageBox.Show("数据库出错,请联系系统管理员");
}
catch (Exception ex2)
{
MessageBox.Show("系统出错,请联系系统管理员");
}
finally
{
conn.Close();//重复关闭不会报错,而且这个对象一定有
}
总结
try…catch捕捉程序运行时的错误,保证在一个功能出错的时候,不会使整个程序崩溃,让其他功能还能继续使用。在没有报错的情况下,try…catch几乎不影响效率。一旦报错,性能消耗要比不使用try…catch大10倍。try…catch要用在非常容易出错的地方,出错概率微乎其微的时候就不用。