try...catch 語句

一般情況下,我們很少用到 try...catch 語句,但是有時候為了測試代碼中的錯誤,也有可能會用到。小白我也在工作中用到過。那么好的程序設計,什么時候會用到呢?

try...catch 一般用來捕獲宿主對象或者ECMAScript拋出的異常。

1 try{
2   // 此處運次代碼
3 } catch(err) {
4   // 此處處理代碼
5 }


【注意】該語句嚴格區分大小寫,使用大寫字母會出錯。

?

并且,try...catch...finally 為JS 實現錯誤處理:

try {tryStatements   // 必選項,可能發生錯誤的語句
} catch(exception) {  // exception 可選項,任何變量名,exception的初始化值是扔出的錯誤的值catchStatements   //可選項,處理在相關聯的 tryStatement 中發生的錯誤的語句
} finally {finallyStatements   // 可選項,在所有其他過程發生之后無條件執行的語句
}

try...catch...finally?語句提供了一種方法來處理可能發生在給定代碼塊中的某些或全部錯誤,同時仍保持代碼的運行。如果發生了程序員沒有處理的錯誤,JS 只給用戶提供它的普通錯誤消息,就好象沒有錯誤處理一樣。

tryStatements?參數包含可能發生錯誤的代碼,而?catchStatement?則包含處理任何發生了的錯誤的代碼。如果在?tryStatements?中發生了一個錯誤,則程序控制被傳給?catchStatements?來處理。exception?的初始化值是發生在?tryStatements?中的錯誤的值。如果錯誤不發生,則不執行?catchStatements

如果在與發生錯誤的?tryStatements?相關聯的?catchStatements?中不能處理該錯誤,則使用?throw?語句來傳播、或重新扔出這個錯誤給更高級的錯誤處理程序。

在執行完?tryStatements?中的語句,并在?catchStatements?的所有錯誤處理發生之后,可無條件執行?finallyStatements?中的語句。

請注意,即使在?try?或?catch?塊中返回一個語句,或在?catch?塊重新扔出一個錯誤,仍然會執行?finallyStatements?編碼。 一般將確保?finallyStatments?的運行,除非存在未處理的錯誤。(例如,在?catch?塊中發生運行時錯誤)。

轉載于:https://www.cnblogs.com/DF-fzh/p/5975310.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372183.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372183.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372183.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用Mockito回答

在編寫單元測試時 ,必須牢記不要依賴外部組件。 為了避免這種情況,我們使用了模擬框架,對我來說,最容易使用的是Mockito 。 在本文中,我們將看到在Mockito中使用的一種“高級”技術,可以使用Answer接口在模…

java三板斧_Java 枚舉使用三板斧

Java 枚舉使用三板斧1 定義public enum CountryEnums {ONE(1,"韓"),TWO(2,"魏"),THREE(3,"楚"),FOUR(4,"燕"),FIVE(5,"趙"),SIX(6,"齊");private Integer retCode;private String retMsg;// 枚舉的構造方法是 pri…

假裝這些是MyEclipse的快捷鍵(1)

Java快捷鍵 Alt / 代碼自動補全Alt Shift S 功能菜單 Ctrl 1 代碼自動修正Ctrl / 單行注釋/取消Ctrl O 查看類的所有方法Ctrl T 查看類的集成架構圖Ctrl Shift / 多行注釋Ctrl Shift \ 取消多行注釋Ctrl Shift F 代碼格式化轉載于:https://www.cnblogs.com/swordt…

JasperReports JSF插件用例–簡單列表報告

這是JasperReports JSF插件系列的第一篇“用例文章” ,我將專注于一個簡單的需求,并且我將進一步深入。 起點是我們已經為圖書商店完成的項目設置,我將向其中添加一個列表,其中包含在數據庫中注冊的其他圖書,該列表也將…

2016.10.17先占坑

2016.10.17先占坑轉載于:https://www.cnblogs.com/amurzet/p/5978986.html

ER圖流程圖

ER圖:ER圖分為實體、屬性、關系三個核心部分。實體是長方形體現,而屬性則是橢圓形,關系為菱形。 圖書館管理系統流程圖(圖片源于網上):對于程序員來說,我們要知道:整個系統中&#x…

php源碼仿三一重工,織夢仿三一重工業大學氣企業網站php源碼

★模板引薦★源碼稱呼:仿三一重工業大學氣企業網站php源碼仿三一重工業大學氣企業網站php源碼,嘗試完備無錯,兼容合流欣賞器。模板包括安置證明,并包括嘗試數據。本模板鑒于DEDECms 5.7 GBK安排,須要 UTF-8版本的請本人…

接觸Jenkins(Hudson)API,第2部分

這篇文章從本教程的第1部分繼續。 已經快一年了,但是我終于有時間重新審視我為與Jenkins api交互而編寫的一些代碼。 我已經使用了部分工作來幫助管理許多Jenkins構建服務器,主要是保持插件同步以及將作業從一臺機器移動到另一臺機器。 在本文中&#xf…

php樹莓派魔鏡,用樹莓派和顯示器制作一面“魔鏡”

所需要的材料一臺顯示器一塊和顯示器大小相同的雙面鏡一些2*4米的細木條樹莓派機器必要組件(電源、HDMI線、usb無線網卡、鍵盤)木工工具(鋸子、磨砂機、螺絲刀)螺絲、液態釘子選一個合適的顯示器鏡子的大小完全由顯示器的類型和大小決定,所以我希望得到一個盡量大的…

【數字圖像處理】[3]--直方圖規范化

【數字圖像處理】[3]--直方圖規范化直方圖規范化出現的原因是因為直方圖均衡只能產生出固定的圖像,不滿足于需求,有時我們需要讓直方圖變成特定的直方圖,于是有了直方圖規范化原理:可能只看公式沒什么感覺,我們來舉一個…

JavaFX 2.0布局窗格– GridPane

毫無疑問, GridPane是JavaFX 2.0中功能最強大,最靈活的布局窗格。 它在由行和列組成的靈活網格中布置其子項,與Swing的GridBagLayout或HTML的表格模型非常相似。 這種方法使該窗格非常適合于任何形式的表單(例如網站上的聯系表單&…

leecode 題解 || Merge k Sorted Lists 問題

problem: Merge k sorted linked lists and return it as one sorted list.Analyze and describe its complexity.Tags Divide and Conquer Linked List Heap合并K個已序單鏈表 thinking: (1)題目沒有要求不能夠新開ListNode,所以…

PHP在瀏覽器中被拒絕請求,php控制請求頁面瀏覽器緩

緩存的主要作用是防止用戶頻繁刷新網站頁面,導致服務器數據庫負擔,既要保證信息更新的及時性,也要保證緩存能被充分利用。http協議里控制瀏覽器緩存的頭有三個Cache-Control,Expires,Last-Modified,在PHP下…

js -03課 -03 js中的真假判斷

真假的問題:數據類型-數字(NaN)、字符串、布爾、函數、對象(elem、[]、{}、null)、未定義真:非0的數字、非空字符串、true、函數、能找到的元素、[]、{}假:0、NaN、空字符串、false、不能找到的…

HBASE啟動失敗,Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster

Master日志錯誤:2015-12-02 06:34:32,394 ERROR [main] master.HMasterCommandLine: Master exitingjava.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterat org.apache.hadoop.hbase.master.HMaster.constru…

Java線程:我應該創建幾個

介紹 “我應該創建多少個線程?”。 許多年前,我的一個朋友問我這個問題,然后我按照“ CPU核心數 1”的指示給了他答案。 當您在這里閱讀時,大多數人都在點頭。 不幸的是,我們所有人當時都錯了。 現在,如果您…

java ui自動化測試腳本,如何用Airtest編寫UI自動化腳本(示例代碼)

前言游戲并不像app一樣直接把渲染樹節點暴露出來,這就造成游戲UI自動化在元素定位上的不方便性,不過依賴airtest的圖片識別,我們可以直接跳過元素檢查,以圖片對比的形式進行自動化,雖然效率可能會低一些,但…

Spring JDBC數據庫連接池設置

對于任何Java應用程序而言, 在Spring框架中設置JDBC數據庫連接池都是很容易的,僅需更改spring配置文件中的一些配置即可。使用Apache Commons DBCP和Commons Pool以及Spring框架的連接池是不錯的選擇,但是如果您擁有Web服務器和托管的J2EE容器…

BZOJ 3505 [Cqoi2014]數三角形(組合數學)

【題目鏈接】 http://www.lydsy.com/JudgeOnline/problem.php?id3505 【題目大意】 給定一個nxm的網格,請計算三點都在格點上的三角形共有多少個。   注意三角形的三點不能共線。 【題解】 我們計算三個點組合的情況,去除橫豎三共線,以及斜…

matlab多項式加法運算,matlab多項式運算與代數方程求解解析.ppt

* 多項式運算與代數方程求解 數學軟件 Matlab Matlab基礎及應用 * 多項式轉化為符號表達式:poly2sym 四則運算:conv、deconv 導數與積分:ployder、polyint 求值與零點:polyval、polyvalm、roots、poly 多項式運算 主要內容 代數方…