1. 程式人生 > >【學習心得】異常處理總結

【學習心得】異常處理總結

---------------------- android培訓java培訓、期待與您交流! ----------------------

異常在java佔有很大分量,很多方法進行操作時都可能產生異常。異常是不正常情況,和錯誤稍有不同,這需要搞清楚,異常是一個執行時可能產生的不正常行為,一旦出現,java程式的執行順序就被破壞,java程式就必須處理,不然整個程式就沒法完成任務。
    java異常是一個物件,通過5個關鍵字來進行管理:try,catch,throw,thorws和finally。try和catch一般成對出現(也可以只有try和finally),且是java處理異常時必須用到的(如果異常拋給JVM處理則不需要用到),try和catch就是對可能出現異常的程式碼進行監控及對描述出現異常後進行處理的方法。這裡我們還要涉及到finally(記住有別於final功能完全不一樣),finally描述的程式碼是無論異常是否出現必須進行的操作,如關閉檔案,資料流等。
    java的內建異常主要由java.lang提供,常見的異常有ArrayIndexOutOfBoundsException陣列索引越界,ClassCastException無效轉換,IndexOutOfBoundsException其他型別的索引越界,NullPointerException空應用異常,UnsupportedOperationException不支援操作異常,ClassNotFoundException類未找到。
    java出了內建了很多異常類以外,還支援我們自己建立異常類,它繼承Exception,當然它也是繼承了Throwable定義的方法。在編寫程式碼時,我們必須得丟擲異常,才能被捕捉,然後再處理,所以在建立自己後,必須在執行可能出現異常的程式碼中顯示地丟擲異常。
    最後說一下throw和throws的區別:throw是顯示的丟擲異常,它的一般形式是throw ThrowableInstance,ThrowableInstance必須是一個Throwable的物件或者子類物件。throw語句後面,執行流會立即停止,其後的任何語句將不再執行(有同樣功能的是return語句),然後再檢查最近的try/catch語句塊(可能是try/finally語句塊),如果找到匹配的語句塊就將控制轉移到那條語句,如果沒找到,則會執行預設的異常處理程式——停止程式,並輸出堆疊蹤跡。而throws是在一個方法可能引起一個不能處理的異常時進行標示的,即警惕呼叫者注意該異常。簡單的說throw和throws都是丟擲異常,throw是在方法體中丟擲異常,而throws是在方法宣告中。


 ---------------------- android培訓java培訓、期待與您交流! ---------------------- 詳細請檢視:http://edu.csdn.net/heima

相關推薦

學習心得異常處理總結

---------------------- android培訓、java培訓、期待與您交流! ---------------------- 異常在java佔有很大分量,很多方法進行操作時都可能產生異常。異常是不正常情況,和錯誤稍有不同,這需要搞清楚,異常是一個執行時可能產

python學習-6異常處理

value cat 寫博客 目的 種類 n) 這樣的 自己 true 最近在網上看到了一種學習方法名叫費曼學習法,說的是學習一個東西的時候,要嘗試著給別人講出來,就是一種備課式的學習。 第一步,選擇一個你想要理解的概念, 然後拿出一張白紙, 把這個概念寫在白紙的最上邊。

Java學習筆記異常處理

Java異常概念 java異常的分類 異常的捕獲和處理 是指在執行期出現的錯誤 觀察錯誤的名字和行號最重要 異常的概念 Java異常是Java提供的用於處理程式中錯誤的一種機制。 所

學習心得泛型小結

  ---------------------- android培訓、java培訓、期待與您交流! ---------------------- 我們知道程式就是演算法和資料的結合,泛型就是將演算法從操作的資料型別中分離出來,在邏輯上把相同的演算法統一,不再和資料型別繫結,

學習心得-刷浙大乙級PAT1001-1005題後心得 c++(一)

9月份入學研究生,因為本身機械跨考計算機,所以在程式設計方面的能力簡直不能直視,直接被一起入學的同學們甩了好幾條街。同時也在導師的再三敦促下刷下浙大PAT的題。訓練下自己的程式設計能力。(當然自己也是非常想提升下程式設計能力)。所以打算一邊刷題一邊學習(暑假有斷

學習心得正則表示式小結

  ---------------------- android培訓、java培訓、期待與您交流! ----------------------  畢老師講解的正則表示式是利用在java.lang.String類中的matches(String regex)方法(匹配)sp

Java學習心得異常處理

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestException { /** * 任何方法往外拋

學習心得傳說中的7K面試題——交通燈問題

  ---------------------- android培訓、java培訓、期待與您交流! ----------------------                Java是面向類的設計方式是,在用java解決交通燈問題時要充分分析交通燈中的各個類。特別要注

Java基礎異常處理與輸入輸出流

finally中的程式碼執行時機 try{}語句中含有return,那麼finally還會執行嗎?如果會,那麼是什麼時候執行(return前還是return後) 在Java的異常處理中,不論什麼情形,finally中的邏輯一定會執行,也就是說try{}塊

javaScript基礎異常處理

導致 mis develop eof 解決 ted var 有效 fin ? ? ? ? ?理解異常在javaScript面向對象編程是非常重要的,異常是一種非常

邊做項目邊學Android異常處理:android.os.NetworkOnMainThreadException--多線程問題

不能 timeout throws extend dex com order trace res 一切搞定。以為高枕無憂了,結果還是有問題! log開始報錯了,獲取更新信息異常。。!debug一下。發現Exception:android.os.NetworkOnM

python全棧開發基礎補充異常處理

ret ror div 問題 條件 self. float 異常處理機制 有關 一、錯誤與異常 程序中難免會出現錯誤,而錯誤分為兩種 1.語法錯誤:(這種錯誤,根本過不了python解釋器的語法檢測,必須在程序執行前就改正) 2.邏輯錯誤:(邏輯錯誤),比如用戶輸入的不合適

學習筆記Spring AOP註解使用總結

trace -a tid nat 修改 with this throwable pid Spring AOP基本概念 是一種動態編譯期增強性AOP的實現 與IOC進行整合,不是全面的切面框架 與動態代理相輔相成 有兩種實現:基於jdk動態代理、cglib Spring

7異常處理

異常處理主要有兩種形式的語法: (1)try---except---else(2)try--except--finally   型別一: # 語法規範# 當try語句執行出現錯誤,會自動匹配錯誤,如果匹配成功,會執行該條的語句。# 如果沒匹配到錯誤,就執行else '''try : 語

java學習——關於搜尋異常處理總結

  根據網上的資料可以知道,異常處理是為了檢測到程式執行中發生的非正常情況的檢測而設立的一種機制,異常的英文單詞是exception,字面翻譯就是“意外、例外”的意思,也就是非正常情況。關於平常我們經常遇到的一些異常有:使用空的引用、陣列下標越界、記憶體溢位錯誤等,這些異常如果不加以解決的話會造成程

c#異常處理:try catch throw

        異常處理,是程式語言或計算機硬體裡的一種機制,用於處理軟體或資訊系統中出現的異常狀況(即超出程式正常執行流程的某些特殊條件)。 也就是說,在程式執行時出現的任何意外或異常情況時,處理這種意外或情況的方法,叫做異常處理。  

學習心得 筆記 1大疆技術總監:如何用六年成為一個全能的機器人工程師

origin: http://www.elecfans.com/app/api/focus/index/id/438628?from=singlemessage&isappinstalled=1     機器人學的核心問題是做好和物理世界的互動。現在主流的機器人學分支裡,處

C++異常處理

一、什麼是異常處理         一句話:異常處理就是處理程式中的錯誤。 二、為什麼需要異常處理,以及異常處理的基本思想         C++之父Bjarne Stroustrup在《The C++ Programming Language》中講到:一個庫的作者可以

學習筆記多型&抽象類 要點總結

2018年11月07日 17:19:48 Gao_Shan2016 閱讀數:2 個人分類: C++

Linux學習文字處理

環境  虛擬機器:VMware 10   Linux版本:CentOS-6.5-x86_64   客戶端:Xshell4  FTP:Xftp4 一、cut:顯示切割的行資料f:選擇顯示的列s:不顯示沒有分隔符的行d:自定義分隔符 舉例:cut -d' ' -f1-3 test.txt 按照空格切分test