电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS錯誤處理與調試操作實例分析

瀏覽:126日期:2024-05-12 17:29:20

本文實例講述了JS錯誤處理與調試操作。分享給大家供大家參考,具體如下:

JavaScript 錯誤 - throw、try 和 catch

try 語句測試代碼塊的錯誤。

catch 語句處理錯誤。

throw 語句創建自定義錯誤。

finally 語句在 try 和 catch 語句之后,無論是否有觸發異常,該語句都會執行。

JavaScript try 和 catch

try 語句允許我們定義在執行時進行錯誤測試的代碼塊。

catch 語句允許我們定義當 try 代碼塊發生錯誤時,所執行的代碼塊。

JavaScript 語句 try 和 catch 是成對出現的。

語法

try { ... //異常的拋出 } catch(e) { ... //異常的捕獲與處理 } finally { ... //結束處理 }

例:

var txt=''; function message() { try { adddlert('Welcome guest!'); } catch(err) { txt='本頁有一個錯誤。nn'; txt+='錯誤描述:' + err.message + 'nn'; txt+='點擊確定繼續。nn'; alert(txt); } }

finally 語句

finally 語句不論之前的 try 和 catch 中是否產生異常都會執行該代碼塊。

<input type='text'><button type='button' οnclick='myFunction()'>點我</button><p id='p01'></p><script>function myFunction() { var message, x; message = document.getElementById('p01'); message.innerHTML = ''; x = document.getElementById('demo').value; try { if(x == '') throw '值是空的'; if(isNaN(x)) throw '值不是一個數字'; x = Number(x); if(x > 10) throw '太大'; if(x < 5) throw '太小'; } catch(err) { message.innerHTML = '錯誤: ' + err + '.'; } finally { document.getElementById('demo').value = ''; }}</script>

Throw 語句

throw 語句允許我們創建自定義錯誤。

正確的技術術語是:創建或拋出異常(exception)。

如果把 throw 與 try 和 catch 一起使用,那么您能夠控制程序流,并生成自定義的錯誤消息。

語法

throw exception

異常可以是 JavaScript 字符串、數字、邏輯值或對象。

實例

本例檢測輸入變量的值。如果值是錯誤的,會拋出一個異常(錯誤)。catch 會捕捉到這個錯誤,并顯示一段自定義的錯誤消息:

function myFunction() { var message, x; message = document.getElementById('message'); message.innerHTML = ''; x = document.getElementById('demo').value; try { if(x == '') throw '值為空'; if(isNaN(x)) throw '不是數字'; x = Number(x); if(x < 5) throw '太小'; if(x > 10) throw '太大'; } catch(err) { message.innerHTML = '錯誤: ' + err; }}

JavaScript 調試工具

在程序代碼中尋找錯誤叫做代碼調試。

調試很難,但幸運的是,很多瀏覽器都內置了調試工具。

內置的調試工具可以開始或關閉,嚴重的錯誤信息會發送給用戶。

有了調試工具,我們就可以設置斷點 (代碼停止執行的位置), 且可以在代碼執行時檢測變量。

瀏覽器啟用調試工具一般是按下 F12 鍵,并在調試菜單中選擇 'Console' 。

console.log() 方法

如果瀏覽器支持調試,你可以使用 console.log() 方法在調試窗口上打印 JavaScript 值:

實例

a = 5;b = 6;c = a + b;console.log(c);

設置斷點

在調試窗口中,你可以設置 JavaScript 代碼的斷點。

在每個斷點上,都會停止執行 JavaScript 代碼,以便于我們檢查 JavaScript 變量的值。

在檢查完畢后,可以重新執行代碼(如播放按鈕)。

debugger 關鍵字

debugger 關鍵字用于停止執行 JavaScript,并調用調試函數。

這個關鍵字與在調試工具中設置斷點的效果是一樣的。

如果沒有調試可用,debugger 語句將無法工作。

開啟 debugger ,代碼在第三行前停止執行。

實例

var x = 15 * 5; debugger; document.getElementbyId('demo').innerHTML = x;

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript錯誤與調試技巧總結》、《JavaScript傳值操作技巧總結》、《javascript編碼操作技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 成都租车_成都租车公司_成都租车网_众行宝| 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 电缆接头_防水接头_电缆防水接头_防水电缆接头_上海闵彬 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 |