1. 程式人生 > >java異常型別分為哪幾種

java異常型別分為哪幾種

    異常處理的目的是依據實際情況提供不同的錯誤應對策略與手段,使程式更穩定,更安全。

異常處理的主要用途是提供準確的錯誤訊息,解釋失敗的原因、位置和錯誤型別等,同時提供一定的恢復能力,儘可能地保證資料完整性不被破壞,並讓程式能繼續執行。

Java中的異常捕獲語句

 Java 中所有可捕獲的異常都派生自 Exception 類。

使用Java異常處理機制

*把可能會發生錯誤的程式碼放進try語句塊中。

*當程式檢測到出現了一個錯誤時會丟擲一個異常物件。異常處理程式碼會捕獲並處理這個錯誤。catch語句塊中的程式碼用於處理錯誤。

*當異常發生時,程式控制流程由try語句塊跳轉到catch語句塊。

*不管是否有異常發生,finally語句塊中的語句始終保證被執行。

*如果沒有提供合適的異常處理程式碼,JVM將會結束掉整個應用程式。

JDK中與異常相關的類

Java中的異常分類

Throwable類有兩個直接子類:

Exception:出現的問題是可以被捕獲的;

Error:系統錯誤,通常由JVM處理。

可捕獲的異常又可以分為兩類:

(1)check異常:直接派生自Exception的異常類,必須被捕獲或再次宣告丟擲

(2)runtime異常:派生自RuntimeException的異常類。使用throw語句可以隨時丟擲這種異常物件:

throw new ArithmeticException(…);

異常的“多型”特性

*可以有多個catch語句塊,每個程式碼塊捕獲一種異常。在某個try塊後有兩個不同的catch塊捕獲兩個相同型別的異常是語法錯誤。

*使用catch語句,只能捕獲Exception類及其子類的物件。因此,一個捕獲Exception物件的catch語句塊可以捕獲所有“可捕獲”的異常。

*將catch(Exception e)放在別的catch塊前面會使這些catch塊都不執行,因此Java不會編譯這個程式。

“finally”的功用

*資源洩露:當一個資源不再被某應用程式使用,但此程式並未向系統宣告不再使用此資源時發生這種情況

*finally語句塊主要用於解決資源洩露問題,它位於catch語句塊之後,JVM保證它們一定執行。

*注意:finally語句塊中也可能發生異常,如果這種情況發生,先前的異常被放棄。

相關推薦

java異常型別分為

    異常處理的目的是依據實際情況提供不同的錯誤應對策略與手段,使程式更穩定,更安全。異常處理的主要用途是提供準確的錯誤訊息,解釋失敗的原因、位置和錯誤型別等,同時提供一定的恢復能力,儘可能地保證資料完整性不被破壞,並讓程式能繼續執行。Java中的異常捕獲語句 Java 中

Java 的引用型別:強引用、軟引用、弱引用和虛引用

Java雖然有記憶體管理機制,但仍應該警惕記憶體洩露的問題。例如物件池、快取中的過期物件都有可能引發記憶體洩露的問題。 從JDK1.2版本開始,加入了物件的幾種引用級別,從而使程式能夠更好的控制物件的生命週期,幫助開發者能夠更好的緩解和處理記憶體洩露的問題。 這幾種

Java基礎面試題10-Java 的引用型別

Java四種引用型別 1.引用的基本概念 強引用:當我們使用new建立物件時,被建立的物件就是強引用,如Object object = new Object(),其中的object就是一個強引用了。如果一個物件具有強引用,JVM就不會去GC它,JVM寧可會報OOM來終止程式,

Android 數據存儲方式分為?

== 存在 禁止 dir pix 內容 key ner cti   10道題值得思考    第一道題    1、Android 數據存儲方式分為哪幾種?    SharedPreferences存儲數據    2. CotentProvider內容提供者    3. 文件存

Java型別判斷的方式

![](https://img2020.cnblogs.com/other/1739473/202010/1739473-20201011090038028-1131985594.png) ## 1. 前言 在**Java**這種強型別語言中型別轉換、型別判斷是經常遇到的。今天就細數一下**Java**中

java算法面試題:排序都有方法?請列舉。用JAVA實現一個快速排序。選擇冒泡快速集合至少4方法排序

算法 err div println rda print 算法面試 ++ 快速排序 package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util

Java基礎之基本資料型別到底是

如果連基本資料型別都不知道,恐怕是還沒入門。當然,有些人不去記,肯定不知道。就知道常用的有 int。其他,沒了。 此文只是說明 基本資料型別有幾種?具體 區別 另行檢視其它文章。 基本資料型別到底有幾種? 7種? 在我的腦海中,好多人還以為常用的基本型別有7種,當

java 線程池有,各有什麽特點

nsq cache 使用 組成 work nbsp 接口 thread keepalive 一:newCacheThtreadPool,用於短時的線程,如果任務多余工作的線程,就會創建,空閑就會銷毀。內部使用syschrounsQueue隊列。 newFixThreadPo

java中的異常類有類?分別怎麼使用?

1.異常類有分為編譯時異常和執行時異常 1.1編譯時異常:寫程式碼的時候就會提醒你有異常 常見的編譯時異常有: IOException SQLException CloneNotSupportedException parseExcept

盤點Java程式設計師規避bug五的方式, 你掌握了!

Java程式語言的人氣自然無需質疑,從Web應用到Android應用,這款語言已經被廣泛用於開發各類應用及程式碼中的複雜功能。 在編寫程式碼時,bug永遠是困擾每一位從業者的頭號難題。本文我們將分享五項java程式設計基本元原則幫助大家儘可能減少程式碼中的bug。 原則一:不要依賴初始

Java框架之Spring AOP 面向切面程式設計 有實現方式?如何選擇適合的AOP實現方式?

文章目錄 1. 實現方式 2. JDK動態代理如何實現? 2.1 主要的實現過程 3. 如何選擇? 1. 實現方式 JDK 動態代理實現和 cglib 實現 2. JDK

java中最常見的執行時異常,你get了嗎?

NullPointerException  (空指標異常) ClassCastException  (型別強制轉換異常) NumberFormatException  (數字格式異常) NegativeArraySizeException  (陣列大小為負數異常) SecurityException 

java中最常見的運行時異常,你get了嗎?

exception arr ofb arrays for 空指針異常 ava nds bound NullPointerException  (空指針異常) ClassCastException  (類型強制轉換異常) NumberFormatException  (數字格

21、Java併發類庫提供的執行緒池有? 分別有什麼特點?(高併發程式設計----7)

目錄 今天我要問你的問題是,Java 併發類庫提供的執行緒池有哪幾種? 分別有什麼特點? 典型回答 考點分析 知識擴充套件 下面我就從原始碼角度,分析執行緒池的設計與實現,我將主要圍繞最基礎的 ThreadPoolExecutor 原始碼。 進一步分析,執行緒池既然

面試題C++有基本資料型別

1.char 2. int 3. short 4. long 5. float 6.double 7.struct(自定義資料型別) 8. enum(列舉) 9.union(聯合) 10.class(類) 11.template (類模板) 12.r

Java多執行緒有實現方式? Java中的類如何保證執行緒安全? 請說明ThreadLocal的用法和適用場景(面試題)

Java多執行緒有哪幾種實現方式? Java中的類如何保證執行緒安全? 請說明ThreadLocal的用法和適用場景 Java多執行緒有三種實現方式: (1)繼承Thread類,重寫run函式 (2)實現Runnable介面,重寫run函式 開啟執行緒:Thread t

Java中Executors類中建立各型別執行緒池的方法及例項

Executors:提供了一系列靜態工廠方法用於建立各種執行緒池。 1.Executors.newCachedThreadPool建立可變執行緒池 如果執行緒池長度超過處理需要,可靈活回收空閒執行緒,若無可回收,則新建執行緒。核心執行緒池大小為0,最大為Integer.MA

java中的鎖有

一、公平鎖/非公平鎖 公平鎖是指多個執行緒按照申請鎖的順序來獲取鎖。 非公平鎖是指多個執行緒獲取鎖的順序並不是按照申請鎖的順序,有可能後申請的執行緒比先申請的執行緒優先獲取鎖。有可能,會造成優先順序反轉或者飢餓現象。 對於Java ReentrantLock而言,通過建

java 中創建線程有方式?

first 一份 則無 col 數據 創建ca one 並且 eight Java中創建線程主要有三種方式: 一、繼承Thread類創建線程類 (1)定義Thread類的子類,並重寫該類的run方法,該run方法的方法體就代表了線程要完成的任務。因此把run()方法稱為

Java 修改編碼格式的方式

格式 text cnblogs 修改 .com pac 方式 src -1 1、工作空間 workspase Window→Preferences→General→Workspace→Text file encoding→other→UTF-8 2、項目編碼格式 右鍵項目