檢查型異常(Checked Exception)與非檢查型異常(Unchecked Exception)
這兩個概念看了忘,碰著了又看,老是傻傻的分不清楚,今天把心得結合從網上搜的資料簡單整理一下,希望幫自己明確區分開這兩個概念,並牢牢的記住
1.檢查型異常(Checked Exception)
個人理解:所謂檢查(Checked)是指編譯器要檢查這類異常,檢查的目的一方面是因為該類異常的發生難以避免,另一方面就是讓開發者去解決掉這類異常,所以稱為必須處理(try ...catch)的異常。如果不處理這類異常,整合開發環境中的編譯器一般會給出錯誤提示。
例如:一個讀取檔案的方法程式碼邏輯沒有錯誤,但程式執行時可能會因為檔案找不到而丟擲FileNotFoundException,如果不處理這些異常,程式將來肯定會出錯。所以編譯器會提示你要去捕獲並處理這種可能發生的異常,不處理就不能通過編譯。
2.非檢查型異常(Unchecked Exception)
個人理解:所謂非檢查(Unchecked)是指編譯器不會檢查這類異常,不檢查的則開發者在程式碼的編輯編譯階段就不是必須處理,這類異常一把可以避免,因此無需處理(try ...catch)。如果不處理這類異常,整合開發環境中的編譯器也不會給出錯誤提示。
例如:你的程式邏輯本身有問題,比如陣列越界、訪問null物件,這種錯誤你自己是可以避免的。編譯器不會強制你檢查這種異常。
相關推薦
檢查型異常(Checked Exception)與非檢查型異常(Unchecked Exception)
這兩個概念看了忘,碰著了又看,老是傻傻的分不清楚,今天把心得結合從網上搜的資料簡單整理一下,希望幫自己明確區分開這兩個概念,並牢牢的記住 1.檢查型異常(Checked Exception) 個人理解:所謂檢查(Checked)是指編譯器要檢查這類異常,檢查的目的一方面是因為該類異常的發生難以避免
初識關系型數據庫(SQL)與非關系型數據庫(NOSQL)
edi 關系型數據庫 底層 手機 col 效率 name 項目 去掉 一.關系型數據庫(SQL): Mysql,oracle 特點:數據和數據之間,表和字段之間,表和表之間是存在關系的 例如:部門表 001部分, 員工表 001 用戶表,用戶名、密碼
C++雜記:運行時類型識別(RTTI)與動態類型轉換原理
程序包 bar ons Language 值類型 包括 iat www != 運行時類型識別(RTTI)的引入有三個作用: 配合typeid操作符的實現; 實現異常處理中catch的匹配過程; 實現動態類型轉換dynamic_cast。 1. typeid操
C#泛型集合與非泛型集合(轉)
轉自部落格: http://www.cnblogs.com/zhxhdean/archive/2011/05/18/2050186.html 在.NET平臺最初發布時,程式設計師使用System.Collections名稱空間下的ArrayList,HashTable,Queue,S
__int64 型別(VC中)與long long 型(gcc中,C99標準)
int64 是有符號 64 位整數資料型別,也就是 C# 中的 long 和 SQL Server 中的 bigint,範圍為 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807),儲
Java 進階 之 檢查型異常與非檢查型異常
使用Spring難免要用到Spring的事務管理,要用事務管理又會很自然的選擇宣告式的事務管理, 在spring的文件中說道,spring宣告式事務管理預設對非檢查型異常和執行時異常進行事務回滾,而對檢查型異常則不進行回滾操作。 那麼什麼是檢查型異常什麼又是非檢查型異常
JavaScript函數節流(throttle)與函數去抖(debounce)
apply 時間 gpo ava size method handler 如果 兩種方法 對於瀏覽器窗口大小改變的時候,來動態改變頁面元素的大小,可以采用window的resize事件,實現代碼: <script type="text/javascript">
MySQL第四天(用戶授權與撤銷,完全備份和完全恢復)
運維day04一、用戶授權與撤銷數據庫管理員密碼設置?1.1修改數據庫管理員本機登錄密碼[root@db2 ~]# mysqladmin -hlocalhost -uroot -p password "123456"Enter password: mysqladmin: [Warning]
對稱(DES/AES)與非對稱(RSA/SSL/數字證書)加密介紹及實際應用
行數據 服務端 版本 報道 pass edi 得到 參數 crc 本文不對具體的算法做深入研究,只是講解各種安全算法的原理和使用場景。 一、數據校驗算法 數據校驗,是為保護數據的完整性,用一種指定的算法對原始數據計算出的一個校驗值。當接收方用同樣的算法再算一次校驗值,如
復制目錄下所有文件(隱藏文件與非隱藏文件)
分享 info bubuko img inf dir .com png mage cp /source-dirname/. /target-dirname(用.表示自己) 復制目錄下所有文件(隱藏文件與非隱藏文件)
JavaScript <script>標簽的位置、延遲腳本(defer屬性)與 異步腳本(async屬性)
瀏覽器中 例子 title 屬性。 mco sync 4.0 syn 但是 一、<script>標簽的位置 傳統的做法是將<script>元素放在<head>元素中,例如: <!DOCTYPE html><html &
屏蔽雙絞線(UTP)與非屏蔽雙絞線(STP)的區別
價格 組網 而且 網絡 數據傳輸 的區別 靈活 屏蔽 同時 一、非屏蔽雙絞線(UTP)和屏蔽雙絞線(STP)的外觀區別:STP外面由一層金屬材料包裹,以減小輻射,防止信息被竊聽,同時具有較高的數據傳輸速率,但價格較高,安裝也比較復雜;UTP無金屬屏蔽材料,只有一層絕緣膠皮包
eclipse projectExplorer視圖(以包的方式顯示)與navigator視圖切換(以文件夾的方式顯示)及樹狀視圖與平面視圖的切換
ima cte explore src eclipse image 切換 exp 樹狀 projectExplorer與navigator的切換 projectExplorer視圖效果 想要此視圖效果步驟如下: 分割--------------------------
尖錐(pointed cone)與非尖錐
在凸優化裡面看到 pointed cone 這個概念,翻譯為尖錐。若 K K K 為一個尖錐,則
React 學習筆記(二) (事件、約束與非約束性元件)
事件物件 方法一 方法二 方法三 表單取值 鍵盤事件 react實現雙向資料繫結 約束性元件和非約束性元件 非約束性元件 defaultValue:<input type="text" defaultValue=‘111’/>
馬爾科夫隨機場(MRF)與吉布斯分佈(Gibbs)
1. 首先由兩個定義,什麼是馬爾科夫隨機場,以及什麼是吉布斯分佈 馬爾科夫隨機場:對於一個無向圖模型G,對於其中的任意節點X_i,【以除了他以外的所有點為條件的條件概率】和【以他的鄰居節點為條件的條件概率】相等,那麼這個無向圖就是馬爾科夫隨機場 Gibbs分佈:如果無向圖模型能
物件轉型(instanceof關鍵字)(物件的引用與所指物件的型別之間各種關係)
1、物件之間的轉換並非是隨意進行的轉換,在基本型別的轉換中,有自動型別轉換,還有一種強制型別轉換,但是物件型別的轉換不能強制地隨意地進行轉換,而是有一種約束,是一種上下繼承層次關係的轉換。 2、instanceof關鍵字: (1)使用方法:引用空格instanceof空格
【隨堂筆記】unity中socket的用法(二、伺服器與客戶端之間簡單的資料傳遞)
主要實現伺服器與客戶端之間簡單的資料傳輸(單次) 伺服器程式碼 using System; using System.Net; using System.Net.Sockets; namespace SeverSocket { class Program {
單精度浮點數(float)與雙精度浮點數(double)的區別:
1、單精度,也就是 float ,在 32 位機器上用 4 個位元組來儲存的;而雙精度double是用 8 個位元組來儲存的,這是他們最本質的區別。 2、由於儲存位不同,8位,16位他們能表示的數值的範圍就不同,也就是能準確表示的數的位數就不同。 單精度浮點的表示範圍:-3.40E+38
二叉樹的深度優先遍歷(DFS)與廣度優先遍歷(BFS)
最近在練習劍指offer上的題,討論區看到有人提到深度優先遍歷和廣度優先遍歷,就查了一點相關知識點。 深度優先遍歷(Depth First Search,簡稱DFS)又稱深度優先搜尋,遍歷的過程是 從某個頂點出發,首先訪問這個頂點,然後找出剛訪問這個結點的第一個未被訪問的鄰結點,然後