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

Java異常體系非正常停止和分類

 更新時(shí)間:2022年06月14日 08:51:39   作者:??共飲一杯無????  
這篇文章主要介紹了Java異常體系非正常停止和分類,指的是程序在執(zhí)行過程中,出現(xiàn)的非正常的情況,最終會(huì)導(dǎo)致JVM的非正常停止更多相關(guān)內(nèi)容需要的朋友可以參考一下

一、異常概念

異常,就是不正常的意思。在生活中:醫(yī)生說,你的身體某個(gè)部位有異常,該部位和正常相比有點(diǎn)不同,該部位的功能將受影響.在程序中的意思就是:

  • 異常 :指的是程序在執(zhí)行過程中,出現(xiàn)的非正常的情況,最終會(huì)導(dǎo)致JVM的非正常停止。

在Java等面向?qū)ο蟮木幊陶Z言中,異常本身是一個(gè)類,產(chǎn)生異常就是創(chuàng)建異常對(duì)象并拋出了一個(gè)異常對(duì)象。Java處理異常的方式是中斷處理。

異常指的并不是語法錯(cuò)誤,語法錯(cuò)了,編譯不通過,不會(huì)產(chǎn)生字節(jié)碼文件,根本不能運(yùn)行.

二、異常體系

異常機(jī)制其實(shí)是幫助我們找到程序中的問題,異常的根類是java.lang.Throwable,其下有兩個(gè)子類:java.lang.Errorjava.lang.Exception,平常所說的異常指java.lang.Exception。 

 Throwable體系:

  • Error:嚴(yán)重錯(cuò)誤Error,無法通過處理的錯(cuò)誤,只能事先避免,好比絕癥。
  • Exception:表示異常,異常產(chǎn)生后程序員可以通過代碼的方式糾正,使程序繼續(xù)運(yùn)行,是必須要處理的。好比感冒、闌尾炎。

Throwable中的常用方法:

  • public void printStackTrace():打印異常的詳細(xì)信息。

包含了異常的類型,異常的原因,還包括異常出現(xiàn)的位置,在開發(fā)和調(diào)試階段,都得使用printStackTrace。

  • public String getMessage():獲取發(fā)生異常的原因。

提示給用戶的時(shí)候,就提示錯(cuò)誤原因。

  • public String toString():獲取異常的類型和異常描述信息(不用)。

出現(xiàn)異常,不要緊張,把異常的簡單類名,拷貝到API中去查。

三、異常分類

我們平常說的異常就是指Exception,因?yàn)檫@類異常一旦出現(xiàn),我們就要對(duì)代碼進(jìn)行更正,修復(fù)程序。 異常(Exception)的分類:根據(jù)在編譯時(shí)期還是運(yùn)行時(shí)期去檢查異常?

  • 編譯時(shí)期異常:checked異常。在編譯時(shí)期,就會(huì)檢查,如果沒有處理異常,則編譯失敗。(如日期格式化異常)
  • 運(yùn)行時(shí)期異常:runtime異常。在運(yùn)行時(shí)期,檢查異常.在編譯時(shí)期,運(yùn)行異常不會(huì)編譯器檢測(不報(bào)錯(cuò))。(如數(shù)學(xué)異常)

四、異常的產(chǎn)生過程解析

先運(yùn)行下面的程序,程序會(huì)產(chǎn)生一個(gè)數(shù)組索引越界異常ArrayIndexOfBoundsException。我們通過圖解來解析下異常產(chǎn)生的過程。 工具類

public class ArrayTools {
    // 對(duì)給定的數(shù)組通過給定的角標(biāo)獲取元素。
    public static int getElement(int[] arr, int index) {
        int element = arr[index];
        return element;
    }
}

測試類:

public class ExceptionDemo {
    public static void main(String[] args) {
        int[] arr = { 34, 12, 67 };
        intnum = ArrayTools.getElement(arr, 4)
        System.out.println("num=" + num);
        System.out.println("over");
    }
}

上述程序執(zhí)行過程圖解: 

到此這篇關(guān)于Java異常體系非正常停止和分類的文章就介紹到這了,更多相關(guān)Java異常體系 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA代碼塊你了解嗎

    JAVA代碼塊你了解嗎

    這篇文章主要介紹了舉例說明Java中的代碼塊,包括靜態(tài)屬性和非靜態(tài)屬性以及構(gòu)造函數(shù)等相關(guān)的執(zhí)行先后,需要的朋友可以參考下
    2021-09-09
  • SpringMVC配置與使用詳細(xì)介紹

    SpringMVC配置與使用詳細(xì)介紹

    Spring MVC是一個(gè)基于Java的實(shí)現(xiàn)了MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,通過把Model,View,Controller分離,將web層進(jìn)行職責(zé)解耦,把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡化開發(fā),減少出錯(cuò),方便組內(nèi)配合
    2022-07-07
  • Jtable和JTree的寫法示例代碼

    Jtable和JTree的寫法示例代碼

    這篇文章主要介紹了Jtable和JTree的基本概念,常用構(gòu)造方法,以及二者的通用寫法,需要的朋友可以了解下。
    2017-09-09
  • Java中的集合工具類Collections詳解

    Java中的集合工具類Collections詳解

    這篇文章主要介紹了Java中的集合工具類Collections詳解,java.utils.Collections是集合工具類,用來對(duì)集合進(jìn)行操作,不是Collection集合的根接口,這個(gè)要區(qū)分開來,需要的朋友可以參考下
    2024-01-01
  • Java類的加載時(shí)機(jī)與過程

    Java類的加載時(shí)機(jī)與過程

    這篇文章主要介紹了Java類的加載時(shí)機(jī)與過程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-12-12
  • 教你一步到位部署運(yùn)行MyBatis3源碼(保姆級(jí))

    教你一步到位部署運(yùn)行MyBatis3源碼(保姆級(jí))

    一個(gè)框架的運(yùn)行流程從最簡單的一個(gè)helloworld來看其源碼就能了解到框架的原理是什么,這篇文章主要給大家介紹了關(guān)于如何一步到位部署運(yùn)行MyBatis3源碼的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java之字節(jié)碼以及優(yōu)勢案例講解

    Java之字節(jié)碼以及優(yōu)勢案例講解

    這篇文章主要介紹了Java之字節(jié)碼以及優(yōu)勢案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解springboot解決第三方依賴jar包的問題

    詳解springboot解決第三方依賴jar包的問題

    本篇文章主要介紹了詳解springboot解決第三方依賴jar包的問題,解決了第三方依賴jar包的問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Mybatis自定義Sql模板語法問題

    Mybatis自定義Sql模板語法問題

    這篇文章主要介紹了Mybatis自定義Sql模板語法問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java加解密技術(shù)系列之RSA詳解

    Java加解密技術(shù)系列之RSA詳解

    出于安全考慮,網(wǎng)絡(luò)的傳輸中經(jīng)常對(duì)傳輸數(shù)據(jù)做加密和編碼處理,本篇文章主要介紹Java加解密技術(shù)系列之RSA詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-10-10

最新評(píng)論