API、 異常(exception和error)、 try-catch語句、throw和throws、 finally關鍵字
*API: 應用程式程式設計介面,即jdk文件手冊,裡面以類的形式提供了 很多常用的功能。 --常用的包與類: java.lang包: 因為常用,所以不需要導包."字串,執行緒" java.util包: 陣列工具類,日期,集合等 java.net包: 網路相關的型別 java.io包: 輸入輸出型別 java.math包:數學應用的相關型別 --打包工具:javadoc (1)使用命令提示符介面: 類資訊中沒有宣告包,即使用預設包 javadoc -d path *.java path:生成api文件的位置 類資訊中聲明瞭包 如:package com javadoc -d path nameOfPackage 如: javadoc -d .\doc com 原始檔在不同包下: javadoc -d path nameOfPackage1 nameOfPackage2.... 如: javadoc -d .\doc com demo (2)藉助eclipse export--java--javadoc--> 選擇javadoc命令的路徑 選中要生成文件的專案 選擇生成文件的位置 ======================================================================= *異常: 在程式開發過程中出現的不正常情況,就是異常。比如, 除數是0,引數為null,呼叫引數的成員變數或者方法,陣列下標越界 --異常分為兩大型別: (1)exception:程式設計師可以解決的:空指標,除數是0,陣列下標越界 (2)Error:程式設計師無法解決的:如記憶體溢位 ###:Throwable是這兩種型別的父類 --exception的分類: 按照編譯器是否檢查進行分類: 非檢查性異常: 也稱之為"執行時異常",即,編譯器在檢查語法期間,不做 異常檢查。 檢查性異常: 也稱之為"編譯時異常",此時,編譯器會強制檢查語法中的異常情況 如有異常,在編譯期需要做異常處理 --exception的結構: RuntimeException: NullPointerException ArrayIndexOutOfBoundsException ClassCastException IllegalArgumentExcetion NumberFormatException IOException: EOFException FileNotFoundException --異常的處理: (1)當異常出現時,終止程式 (2)當異常出現時,我們使用處理機制進行處理異常。無序終止程式 體驗度:儘可能的選擇異常處理機制。 --異常處理機制: 基本思想: 在可能出現異常的程式碼塊區域,進行嘗試檢查,如果 出現了異常資訊,我們將這些資訊封裝成某一異常型別的物件。 然後進行捕獲與處理 try{ 可能出現異常的程式碼塊 /*
如果有異常,jvm會將異常資訊,封裝成物件 將地址資訊賦值給catch中的形參 */ }catch(Exception e){ 進行處理e } --多catch語句塊情況: 當我們在嘗試捕獲異常物件時,想對多種不同的異常物件分別處理時, 需要使用多個catch語句塊 說明: 當在try中出現了異常資訊,那麼就不會再執行try中程式碼塊的
後續部分。進入相應的catch程式碼塊中執行處理。 多catch語句塊情況下,catch處理的異常種類書寫順序: 先寫子類異常型別,再寫父類異常
---throw:丟擲關鍵字,在本方法中出現的異常,不做try-catch處理。 而是拋給呼叫者處理。需要使用throw關鍵字。 (可處理可不處理) ---throws: 宣告異常關鍵字,通常用於方法的定義上,用於通知呼叫者(必須處理) 當throw的異常物件為檢查性異常,方法上必須throws此異常型別 如果throw的異常物件為非檢查性異常,方法上不必throws此異常型別 --方法重寫時的throws的用法 可行的: (1)可以相同(/可以不丟擲異常) (2)可以是部分 (3)異常的子型別可行,可以是多個子型別 不行的: (1)不同的異常型別,不可以多宣告 (2)異常的父型別不行 ---finally: 是為try-catch提供了統一的出口。不管try與catch語句塊是否 發生了異常,最終都會執行finally裡的程式碼塊 。 通常用於處理一些資源的關閉等操作: 如讀取檔案時關閉操作,或者是刪除臨時檔案 finally語句塊可選。