欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java面向?qū)ο笾裁词钱惓?/h1>
 更新時(shí)間:2021年07月27日 09:59:40   作者:乾坤大那挪  
Java 把異常當(dāng)作對(duì)象來(lái)處理,并定義一個(gè)基類,java.lang.Throwable 作為所有異常的超類。今天通過(guò)本文給大家分享Java面向?qū)ο笾裁词钱惓#信d趣的朋友一起看看吧

基礎(chǔ)概念

 ?。?)異常:Java程序在運(yùn)行時(shí)期發(fā)生的不正常情況。

     Java就按照面向?qū)ο蟮乃枷雽?duì)不正常情況進(jìn)行描述和對(duì)象的封裝。

 ?。?)異常問(wèn)題分類:?。═hrowable:定義對(duì)于問(wèn)題共性的功能。)

     1.Error:由系統(tǒng)底層發(fā)生的,jvn告訴使用者。不做針對(duì)性處理,直接修改代碼。

     2.Exception:發(fā)生并告訴使用者,可以進(jìn)行針對(duì)性的處理。

 ?。?)異常的處理情況:

    1.遇到問(wèn)題不進(jìn)行具體的處理,繼續(xù)拋給調(diào)用者。就是在函數(shù)上通過(guò)throws關(guān)鍵字聲明異常。目的是讓調(diào)用者可以進(jìn)行處理。

    2.針對(duì)性的處理方式:捕獲!

  try
      {
      //有可能發(fā)生異常的代碼。
      }
      catch(異常類 變量)
      {
      //這是真正的捕獲,處理異常的代碼;
      }
      finally
      {
      //一定會(huì)被執(zhí)行的代碼。
      }

一、什么是異常

  • 實(shí)際工作中,遇到的情況下不可能是非常完美的。比如:你寫的某個(gè)模塊,用戶輸入不一定符合你的要求、你的程序要打開某個(gè)文件,這個(gè)文件可能不存在或者格式不對(duì),你要讀取數(shù)據(jù)庫(kù)的數(shù)據(jù),數(shù)據(jù)庫(kù)可能是空的等。程序在跑的時(shí)候,內(nèi)存或硬盤滿了等情況,就是異常了。
  • 軟件在運(yùn)行過(guò)程中,非??赡苡龅絼倓偺岬降倪@些異常問(wèn)題,我們叫異常,英文是:Exception,意思是例外。這些例外情況,或者叫異常,怎么讓我們的程序做出合理的處理。而不至于程序崩潰。
  • 異常值程序運(yùn)行中出現(xiàn)的不期而至的各種狀況,如:文件找不到、網(wǎng)絡(luò)連接失敗、非法參數(shù)等。
  • 異常發(fā)生在程序運(yùn)行期間,它影響了正常的程序執(zhí)行流程。

二、簡(jiǎn)單分類

  • 要理解Java異常處理是如何工作的,你需要掌握一下三種異常: 異常處理框架
  • 檢查性異常:最具代表性的檢查性異常是用戶錯(cuò)誤或問(wèn)題引起的異常,這是程序員無(wú)法預(yù)見的。例如要打開一個(gè)文件是,一個(gè)異常就發(fā)生了,這些異常在編譯時(shí)不能唄簡(jiǎn)單地忽略。
  • 運(yùn)行時(shí)異常:運(yùn)行時(shí)異常是可能被程序員忽略的異常。與檢查性異常相反,運(yùn)行時(shí)異??梢栽诰幾g時(shí)被避免。
  • 錯(cuò)誤 ERROR:錯(cuò)誤不是異常,而是脫離程序員控制的問(wèn)題。錯(cuò)誤在代碼中通常被忽略。例如,當(dāng)棧溢出時(shí),一個(gè)錯(cuò)誤就發(fā)生了,它們?cè)诰幾g時(shí)也檢查不到。

三、異常體系結(jié)構(gòu)

  • Java 把異常當(dāng)作對(duì)象來(lái)處理,并定義一個(gè)基類 java.lang.Throwable 作為所有異常的超類。
  • 在 Java API中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯(cuò)誤 Error 和 異常 Exception。

四、Error

  • Error 類對(duì)象由 Java 虛擬機(jī)生成并拋出,大多數(shù)錯(cuò)誤與代碼編寫者所執(zhí)行的操作無(wú)關(guān)。
  • Java 虛擬機(jī)運(yùn)行錯(cuò)誤(Virtual MachineError),當(dāng) JVM 不再有繼續(xù)執(zhí)行操作所需要的內(nèi)存資源時(shí),將出現(xiàn) OutOfMemoryError。這些異常發(fā)生時(shí),Java 虛擬機(jī)(JVM)一般會(huì)選擇線程終止。
  • 還有發(fā)生在虛擬機(jī)識(shí)圖執(zhí)行應(yīng)用時(shí),如類定義錯(cuò)誤(NoClassDefFoundError)、鏈接錯(cuò)誤(LinkageError)。這些錯(cuò)誤是不可查的,因?yàn)樗鼈冊(cè)谝贸绦虻目刂坪吞幚砟芰χ?,而且絕大多數(shù)是程序運(yùn)行時(shí)不允許出現(xiàn)的狀況。

五、Exception

  • 在 Exception 分支中有一個(gè)重要的子類 RuntimeException(運(yùn)行時(shí)異常)

ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)

NullPointerException(空指針異常)

ArithmeticException(算術(shù)異常)

MissingResourceException(丟失資源)

ClassNotFoundException(找不到類)

等異常,這些異常是不檢查異常不是檢查性異常,程序中可以選擇捕獲處理,也可以不處理。

  • 這些異常一般是由程序邏輯錯(cuò)誤引起的,程序應(yīng)該從邏輯角度盡量避免這類異常的發(fā)生。
  • Error 和 Exception 的區(qū)別:Error 通常是災(zāi)難性的致命的錯(cuò)誤,是程序無(wú)法控制和處理的,當(dāng)出現(xiàn)這些異常時(shí),Java 虛擬機(jī)(JVM)一般會(huì)選擇終止線程; Exception 通常情況下是可以被程序處理掉額,并且在程序中應(yīng)該盡可能地去處理這些異常。

到此這篇關(guān)于Java面向?qū)ο笾裁词钱惓5奈恼戮徒榻B到這了,更多相關(guān)java面向?qū)ο螽惓?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java筆記學(xué)習(xí)之操作符

    java筆記學(xué)習(xí)之操作符

    本篇文章給大家分享了關(guān)于Java中操作符的相關(guān)知識(shí)點(diǎn)以及難點(diǎn)總結(jié),有需要的朋友參考學(xué)習(xí)下吧。
    2018-04-04
  • java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼

    java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼

    這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • JAVA代碼開發(fā)規(guī)范

    JAVA代碼開發(fā)規(guī)范

    本文主要對(duì)JAVA代碼開發(fā)規(guī)范進(jìn)行詳細(xì)介紹,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Java Spring分別實(shí)現(xiàn)定時(shí)任務(wù)方法

    Java Spring分別實(shí)現(xiàn)定時(shí)任務(wù)方法

    這篇文章主要為大家詳細(xì)介紹了Java與Spring設(shè)置動(dòng)態(tài)定時(shí)任務(wù)的方法,定時(shí)任務(wù)的應(yīng)用場(chǎng)景十分廣泛,如定時(shí)清理文件、定時(shí)生成報(bào)表、定時(shí)數(shù)據(jù)同步備份等
    2022-07-07
  • java策略枚舉:消除在項(xiàng)目里大批量使用if-else的優(yōu)雅姿勢(shì)

    java策略枚舉:消除在項(xiàng)目里大批量使用if-else的優(yōu)雅姿勢(shì)

    這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2021-06-06
  • Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解

    Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解

    OpenCV用來(lái)存儲(chǔ)圖像,很多時(shí)候都會(huì)用到這個(gè)Mat方法。數(shù)字圖像可看做一個(gè)數(shù)值矩陣,?其中的每一個(gè)元素表明一個(gè)像素點(diǎn)。Mat在?OpenCV?中表示的是?N?維稠密矩陣,與稠密矩陣相對(duì)的是稀疏矩陣。本文將重點(diǎn)介紹OpenCV中Mat的一些基本操作,需要的可以參考一下
    2022-03-03
  • Spring cloud Eureka注冊(cè)中心搭建的方法

    Spring cloud Eureka注冊(cè)中心搭建的方法

    這篇文章主要介紹了Spring cloud Eureka注冊(cè)中心搭建的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • java String源碼和String常量池的全面解析

    java String源碼和String常量池的全面解析

    下面小編就為大家分享一篇java String源碼和String常量池的全面解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 如何用java生成指定范圍的隨機(jī)數(shù)

    如何用java生成指定范圍的隨機(jī)數(shù)

    以生成[10,20]隨機(jī)數(shù)為例,首先生成0-20的隨機(jī)數(shù),然后對(duì)(20-10+1)取模得到[0-10]之間的隨機(jī)數(shù),然后加上min=10,最后生成的是10-20的隨機(jī)數(shù)
    2013-09-09
  • Java語(yǔ)言實(shí)現(xiàn)掃雷游戲(2)

    Java語(yǔ)言實(shí)現(xiàn)掃雷游戲(2)

    這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)掃雷游戲第二部分代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評(píng)論