關於JavaScript的學習(十七)——錯誤處理與除錯
第十七章
錯誤處理對於今天覆雜的Web應用程式開發而言至關重要。不能提前預測到可能發生的錯誤,不能提前採取回覆策略,可能導致較差的使用者體驗,最終引發使用者不滿。多數瀏覽器在預設情況下都不會向用戶報告錯誤,因此在開發和除錯期間需要啟動瀏覽器的錯誤報告功能。然而,在投入執行的產品程式碼中,則不應該再有諸如此類的錯誤報告出現。
下面是幾種避免瀏覽器響應JavaScript錯誤的方法。
- 在可能發生錯誤的地方使用try-catch語句,這樣你還有機會以適當的方式對錯誤給出響應,而不必沿用瀏覽器處理錯誤的機制。
- 使用window.onerror事件處理程式,這種方式可以接受try-catch不能處理的所有錯誤(僅限於IE、Firefox和Chrome)。
另外,對於Web應用程式都應該分析可能的錯誤來源,並制定處理錯誤的方案。
- 首先,必須要明確什麼是致命錯誤,什麼是非致命錯誤。
- 其次,再分析程式碼,以判斷最可能發生的錯誤。JavaScript中發生錯誤的主要原因如下:
- 型別轉換
- 未充分檢測資料型別
- 傳送給伺服器或從伺服器接收到的資料有錯誤
IE、Firefox、Chrome、Opera和Safari都有JavaScript偵錯程式,有的是內建的,有的是以需要下載的擴充套件形式存在的。這些偵錯程式都支援設定斷點、控制程式碼執行及在執行時檢測變數的值。
相關推薦
關於JavaScript的學習(十七)——錯誤處理與除錯
第十七章 錯誤處理對於今天覆雜的Web應用程式開發而言至關重要。不能提前預測到可能發生的錯誤,不能提前採取回覆策略,可能導致較差的使用者體驗,最終引發使用者不滿。多數瀏覽器在預設情況下都不會向用戶報告錯誤,因此在開發和除錯期間需要啟動瀏覽器的錯誤報告功
JavaScript學習(十一)--數值處理物件
目錄 目錄 Math物件 1.math物件的屬性 例子: var piValue=Ma
python學習(十七) 擴展python
生成 實現 語言 擴展 運行速度 ava python學習 簡單 用c語言實現 c, c++, java比python快幾個數量級。 17.1 考慮哪個更重要 開發速度還是運行速度更重要。 17.2 非常簡單的途徑:Jython和IronPython Jython可以直接訪
C++語言學習(十七)——模板
china typename itl while ptr 特殊 實例化 需求 所有 C++語言學習(十七)——模板 一、模板簡介 泛型(Generic Programming)即是指具有在多種數據類型上皆可操作的含意。 泛型編程的代表作品STL是一種高效、泛型、可交互操作的
C++語言學習(十八)——異常處理
right data ges cal 修飾符 當前 ins 最終 cati C++語言學習(十八)——異常處理 一、C語言異常處理 異常是指程序在運行過程中產生可預料的執行分支。如除0操作,數組訪問越界、要打開的文件不存在。Bug是指程序中的錯誤,是不被預期的運行方式。如野
機器學習之python學習(十七)
今天來學習python中的tuple、 這個資料結果用的還是比較少的。 當然了,你們也可以參考廖雪峰大神的python教學快速入門。 程式碼塊 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : SundayC
JMeter學習(十七)JMeter測試Java 目的:對Java程式進行測試
目的:對Java程式進行測試 目錄 一、核心步驟 二、例項 三、JMeter Java Sampler介紹 四、自帶Java Request Sampler 一、核心步驟 1.建立一個Java工程; 2.將JMeter的lib目錄下
機器學習 (十七)kaggle競賽之泰坦尼克號專案實戰-2
導航 想寫這篇部落格的由衷是做完幾個專案,有時對於圖的畫法和模型融合演算法原理理解還很膚淺,特此加深一下印象。 內容概覽 圖 pandas、matplotlib、seaborn 餅圖 直方圖
python學習(十七)——補充內建函式、使用迭代器協議實現斐波那契數列、描述符、pycharm的問題
一、補充內建函式 #--------------------------isinstance/isinbclass-------------- class Foo: pass class Bar(Foo): pass b1=Bar() print(isinstance(b1,
深度學習(十七)
1、在殘差網路中利用1*1進行降維,即設計一個瓶頸層來使得網路更深可能不是一個好主意,網路的通道更多即網路更寬一些在實驗中可能更能利用GPU的運算資源。 2、一個訓練的技巧,當使用較小的學習率時使用較大的動量,使用較大的學習率時使用較小的動量,兩者的關係如圖所示: 3、如果損失函式的表
opencv學習(十七):影象金子塔
邊緣檢測運算元 參考學習連結:https://blog.csdn.net/xiaowei_cqu/article/details/7829481 影象金子塔 參考學習連結:https://www.cnblogs.com/Matrix420/p/4214123.html open
webpack學習(十七):使用 process.env.NODE_ENV 區別生產模式和開發模式
demo地址: https://github.com/Lkkkkkkg/webpack-demo 繼上一次分離生產模式和開發模式的配置: https://blog.csdn.net/qq593249106/article/details/84964816 合併程式碼 之前因為開發模式
webpack學習(十七):快取
demo地址: https://github.com/Lkkkkkkg/webpack-demo 繼上一次使用 process.env.NODE_ENV 區別生產模式和開發模式: https://blog.csdn.net/qq593249106/article/details/849705
機器學習與深度學習系列連載: 第一部分 機器學習(十七)非監督度學習-2 Unsupervised Learning-4(Generative Models)
生成模型 Generative Models 用非監督學習生成結構化資料,是非監督模型的一個重要分支,本節重點介紹三個演算法: Pixel RNN ,VAE 和GAN(以後會重點講解原理) 1. Pixel RNN RNN目前還沒有介紹,,以後會重點講解,大家
dart語言學習(十七)— 方法物件
含義 方法可作為物件賦值給其他變數 方法可作為引數傳遞給其他方法 void main(List<String> args) { var func = printHello; Function func1 = printHello; func
spring深入學習(十七) IOC 之分析各 scope 的 bean 建立
在 Spring 中存在著不同的 scope,預設是 singleton ,還有 prototype、request 等等其他的 scope,他們的初始化步驟是怎樣的呢?這個答案在這篇部落格中給出。 singleton Spring 的 scope 預設為 singleton,其初始化的程式
訊息中介軟體--RabbitMQ學習(十七)---高階特性之死信佇列
死信佇列:DLX,Dead- Letter- Exchange 利用DLX,當訊息在一個佇列中變成死信( dead message)之後它能被重新 publish到另一個 Exchange,這個 Exchange就是DLX 死信佇列訊息變成死信有一下幾種情況
Spring 學習(十七)——Spring AOP之返回通知、異常通知和環繞通知
返回通知 •無論連線點是正常返回還是丟擲異常, 後置通知都會執行. 如果只想在連線點返回的時候記錄日誌, 應使用返回通知代替後置通知. 在返回通知中訪問連線點的返回值 •在返回通知中, 只要將 returning 屬性新增到 @AfterReturning 註解中
opencv學習(十七)之XML和YAML檔案讀寫操作
可能大部分人到現在接觸的XML和YAML檔案很少,等以後訓練人臉模型進行人臉識別的時候用的就多了。現在先了解一下這兩種檔案型別。 XML:Extensible Markup Language,可擴充套件標記語言,標準通用語言的子集,是一種用於標記電子檔案使其具
深度學習(十七)——SSD, YOLOv2
SSD SSD是Wei Liu於2016年提出的演算法。 論文: 《SSD: Single Shot MultiBox Detector》 程式碼: 網路結構 YOLO有一些缺陷:每個網格只預測一個物體,容易造成漏檢;對於物體的尺