日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【135天】尚学堂高淇Java300集视频精华笔记(74-76)

發布時間:2024/4/13 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【135天】尚学堂高淇Java300集视频精华笔记(74-76) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第74-75集:異常機制、trycatchfinallyreturn執行順序、捕獲異常、聲明異常throw、方法重寫中異常的處理、手動拋出異常

異常的處理辦法一:捕獲異常

try

  • try語句指定了一段代碼,該段代碼就是一次捕獲并處理的范圍。在執行過程中,當任意一條語句產生異常時,就會跳過該段中后面的代碼。代碼中可能會產生并拋出一種或幾種類型的異常對象,它后面的catch語句要分別對這些異常做相應的處理。

  • 一個try語句必須帶有至少一個catch語句塊或一個finally語句塊?。【只有try和finally未必可以】

  • 當異常處理的代碼執行結束以后,是不會回到try語句去執行尚未執行的代碼。

  • catch

  • 每個try語句塊可以伴隨一個或多個catch語句,用于處理可能產生的不同類型的異常對象。

  • 常用方法:

  • toString?(?):顯示異常的類名和產生異常的原因。

  • getMessage(?):只顯示產生異常的原因,但不顯示類名。

  • printStackTrace(?):用來跟蹤異常事件發生時堆棧的內容。【最常用】

  • 這些方法均繼承自Throwable類?

  • Catch捕獲異常時的捕獲順序: ?

  • 如果異常類之間有繼承關系,在順序安排上需注意。越是頂層的類,越放在下面。再不然就直接把多余的catch省略掉。?

  • finally

    有些語句,不管是否發生了異常,都必須要執行,那么就可以把這樣的語句放到finally語句塊中。
    通常在finally中關閉程序塊已打開的資源,比如:文件流、釋放數據庫連接等。

    package com.test074;import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;public class Test074 {public static void main(String[] args){FileReader reader = null;File a = new File("/Users/wangtao/Desktop/a.txt");try{a.createNewFile();reader = new FileReader("/Users/wangtao/Desktop/a.txt");char temp = (char)reader.read();System.out.println("讀出的內容"+temp);} catch(FileNotFoundException e){System.out.println("文件沒有找到");} catch(IOException e){e.printStackTrace();System.out.println("文件讀取錯誤");} finally {System.out.println("不管有無異常都將被執行");try {reader.close();//這是一個用來關閉對象的方法} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }

    try、catch、finally、return執行順序

  • 執行try,catch,給返回值賦值

  • 執行finally

  • return

  • package com.test074;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;public class Test074_1 {public static void main(String[] args){String str = new Test074_1().openFile();System.out.println(str);}String openFile(){try{System.out.println("aaa");FileInputStream fis = new FileInputStream("/Users/wangtao/Desktop/a.txt");int a = fis.read();System.out.println("bbb");return "step1";} catch(FileNotFoundException e) {System.out.println("catch");e.printStackTrace();return "step2";//先去finally再回到這里。} catch(IOException e){e.printStackTrace();return "step3";} finally {System.out.println("finally!!!");//return "FFF";//不要在finally中使用return}} }

    異常的處理辦法二:聲明異常:throws子句

  • 當Checked?Exception產生時,不一定立刻處理它,可以再把異常Throws出去。

  • 在方法中使用try-chatch-finally這個方法處理異常。在一些情況下,當前方法并不需要處理發生的異常,而是向上傳遞給調用它的方法處理。

  • 如果一個方法中可能產生某種異常,但是并不能確定如何處理這種異常,則應根據異常規范在方法的首部聲明該方法可能拋出的異常。

  • 如果一個方法拋出多個已檢查異常,就必須在方法的首部列出所有的異常,之間以逗號隔開。

  • 方法重寫中聲明異常原則:子類聲明的異常范圍不能超過父類聲明的范圍。包含如下意思:

  • 父類沒有聲明異常,子類也不能。

  • 不可拋出原有方法拋出異常類的父類或上層類。

  • 拋出的異常類型的數目不可以比原有的方法拋出的還多(不是指個數)。

  • package com.test075;import java.io.FileNotFoundException; import java.io.IOException; import java.text.ParseException;/*** @author wangtao* 測試子類重寫父類方法* 1. 子類拋出的異常不能是父類的上層類,其范圍也不能超過父類* 2. 子類拋出的異常種類不能比父類多* 3. 父類不拋出異常,子類不能拋出。* */ public class Test075_1 {public static void main(String[] args){}class A {public void method() throws IOException{}}class B extends A {public void method() throws FileNotFoundException{//子類拋出的異常范圍不超過父類范圍}}class C extends A {public void method(){//子類不拋出異常}}class D extends A {public void method() throws IOException,ParseException{//子類拋出的異常種類比父類多,報錯}}class E extends A {public void method() throws IOException,FileNotFoundException{//子類拋出的異常范圍數量雖然多過父類,但是它沒有超過父類范圍}}class F extends A {public void method() throws IOException,ArithmeticException{//同上}} }

    異常的處理辦法三:手動拋出異常

  • Java異常類對象除在程序執行過程中出現異常時由系統自動生成并拋出,也可根據需要手工創建并拋出。

  • 在捕獲一個異常前,必須有一段代碼先生成異常對象并把它拋出。這個過程我們可以手工做,也可以由JRE來實現,但是他們調用的都是throw子句。

  • 對于一個已經存在的異常類,拋出該類異常對象過程如下:

  • 找到一個合適的異常類。

  • 創建一個該類的對象。

  • 將對象拋出。

  • package com.test075;import java.io.File; import java.io.FileNotFoundException;public class Test075_2 {public static void main(String[] args){File f = new File("/Users/wangtao/Desktop/aaa.txx");if(!f.exists()){try {throw new FileNotFoundException("File can`t be found!");} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }

    第76集:異常機制、自定義異常、異常總結

    自定義異常? ? ? ? ? ? ? ?

  • 在程序中,可能會遇到任何標準異常類都沒有充分的描述清楚的問題,這種情況下可以創建自己的異常類【從Exception類或者它的子類派生一個子類即可】

  • 習慣上,定義的類應該包含2個構造器:一個是默認的構造器,另一個是帶有詳細信息的構造器

  • package com.test076;/*** @author wangtao* 測試自定義異常*/ public class Test076 {public static void main(String[] args){try {new TestMyException().test();} catch (MyException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }class MyException extends Exception {public MyException(){}public MyException(String message){super(message);} }class TestMyException{void test() throws MyException {} }

    使用異常機制建議

  • 要避免使用異常處理代替錯誤處理,這樣會降低程序的清晰性,并且效率低下。

  • 處理異常不可以代替簡單測試---?只在異常情況下使用異常機制?

  • 不要進行小粒度的異常處理---應該將整個任務包裝在一個Try語句塊中?

  • 異常往往在高層處理(先了解!后面做項目會說!)?

  • 總結

  • 一個圖

  • 五個關鍵字(try,catch,finally,throws,throw)

  • 先逮小的,再逮大的

  • 異常和重寫的關系

  • 自定義異常

  • 總結

    以上是生活随笔為你收集整理的【135天】尚学堂高淇Java300集视频精华笔记(74-76)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 少妇无套内谢免费视频 | 丁香六月婷婷激情 | 久久美女免费视频 | 超碰人人擦 | 正在播放欧美 | 黄色爱爱视频 | 91偷拍精品一区二区三区 | 真人毛片97级无遮挡精品 | 国产av一区二区不卡 | 欧美 日韩 国产一区 | 欧美一区二区三区久久成人精品 | 97avcc| 久久8| 最新国产露脸在线观看 | 欧美影视一区二区 | 久久久久久久一区 | 成人公开免费视频 | 强睡邻居人妻中文字幕 | av中文字幕第一页 | 捆绑束缚调教 | 精品毛片在线观看 | 久久在线一区二区 | 亚州一区二区 | 麻豆最新网址 | 国产99re | 中国女人真人一级毛片 | 日韩手机看片 | 欧美日韩激情视频 | 日本亲与子乱ay中文 | 亚洲啪av永久无码精品放毛片 | 94av视频| www.国产一区 | 男人扒女人添高潮视频 | 日韩欧美视频在线免费观看 | 热久久亚洲 | 少妇又色又爽 | 中国肥胖女人真人毛片 | 免费一级特黄特色大片 | 男人天堂伊人 | 国产精品丝袜在线 | 中文字幕亚洲日本 | 亚欧日韩av | 中文字幕一区久久 | 日本中文字幕免费 | 亚洲成人中文 | 国产在线视频网站 | 精品久久亚洲 | 久久这里只有 | 初尝人妻少妇中文字幕 | 日韩激情在线观看 | 国产精品自拍网站 | 国产精品普通话 | 星空大象在线观看免费播放 | 人人草超碰 | 精品无码一区二区三区 | 国产精品第 | 亚洲av午夜精品一区二区三区 | 国产八区 | 91久久久久久久久久久久久 | 99视频+国产日韩欧美 | 亚洲精品久久久久久久蜜桃臀 | 国产第一精品视频 | 高潮流白浆在线观看 | 三级黄色短视频 | 9999免费视频 | a免费在线 | 国产 日韩 欧美 精品 | 婷婷丁香激情五月 | 小视频成人 | 日本少妇xxxxxx | 91看片免费版 | 精品区一区二区 | 精品无码三级在线观看视频 | 中文字幕第100页 | 国产美女视频免费观看下载软件 | 成人一级黄色片 | 日色视频 | 亚洲精品国产欧美在线观看 | 免费一级特黄特色大片 | 国产理伦 | 蜜臀久久99精品久久久久久宅男 | 午夜影院色 | 欧美性大战久久久久久 | 添女人荫蒂视频 | 婷婷开心激情 | 久久这里 | 国产精品a级 | 亚洲人成在线免费观看 | 久久国产激情 | 黄色动漫免费在线观看 | 中文字幕22页 | 精品人妻久久久久久888不卡 | 日韩欧美亚洲国产精品字幕久久久 | 黄色网页在线免费观看 | 精品国产一区二区三 | 国产黄大片在线观看画质优化 | 兔费看少妇性l交大片免费 日韩高清不卡 | 成人av免费在线播放 | 黄色性视频 |