1. 程式人生 > >java語言---異常處理要點(1)

java語言---異常處理要點(1)

1、何為異常?

     異常在本質上是一種執行時錯誤。在不支援異常處理機制的語言中,需要通過手動檢查和處理錯誤(比如常見的錯誤程式碼)。Java語言中的異常處理機制採用了面向物件方式,即用物件來描述一段程式碼中發生的執行時錯誤(異常)。當異常情況出現時,便會在引起異常的方法中建立表示異常的物件,並將其丟擲。在這樣的機制下,可以選擇在出現異常的方法中捕獲並處理異常,也可以選擇由方法的呼叫者來捕獲並處理異常。無論採用哪種方式,產生的異常一定會被捕獲並被處理。

2、異常的來源:

    java語言中的異常產生源頭有兩個:其一是由java執行時系統生成,這種情況下沒有顯示的異常丟擲;其二是通過程式碼手動丟擲,這種情況下借用關鍵字throw顯示丟擲表示異常的物件。

注:手動生成的異常通常用於向方法的呼叫者報告某些錯誤條件。

3、異常處理機制涉及的關鍵字:

    java語言中的異常處理機制借用5個關鍵字來實現:try、catch、throw、throws、finally。在try程式碼塊中封裝可能會產生異常的語句,從而對這些語句進行監視。如果在try程式碼塊中發生異常,就會丟擲表示異常的物件。並且使用catch進行異常捕獲,然後以合理的方式處理異常。try程式碼塊結束後必須要執行的程式碼放入finally程式碼塊中。

注:系統生成的異常由java執行時系統自動丟擲,而手動丟擲異常物件則需要使用關鍵字throw。如果想從方法中丟擲異常並將捕獲和處理異常的工作交給方法的呼叫者來做,則需要通過throws子句進行指定。

注:異常處理程式碼塊的一般形式:

try
{
    //block of code to monitor for errors
}
catch(ExceptionType1 ex0b)
{
    //exception handler for ExceptionType1
}
catch(ExceptionType2 ex0b)
{
    //exception handler for ExceptionType2
}
//....
finally
{
    //block of code to be executed after try block ends
}

5、異常型別

   java語言中所有異常的型別都是Throwable的子類。所以,Throwable位於異常類層次中的頂層。Throwable有兩個子類Exception和Error,他們將異常劃分為兩個不同的分支。

注:Exception類用於程式應當捕獲的異常,也可用於派生使用者自定義異常型別。

注:Error類用於定義常規環境下不希望由程式捕獲的異常。此類的異常由java執行時系統使用,並用於表徵執行時環境出現了嚴重的錯誤。

相關推薦

java語言---異常處理要點1

1、何為異常?      異常在本質上是一種執行時錯誤。在不支援異常處理機制的語言中,需要通過手動檢查和處理錯誤(比如常見的錯誤程式碼)。Java語言中的異常處理機制採用了面向物件方式,即用物件來描

Java程式設計思想第四版第十二章學習——通過異常處理錯誤1

使用異常帶來的好處: 它降低了錯誤處理程式碼的複雜度。使用異常後,不需要檢查特定的錯誤並在程式中的許多地方去處理它。因為異常機制將保證能夠捕獲這個錯誤且只需在一個地方處理錯誤,即異常處理程式中。 1、基本異常 異常情形:阻止當前方法或作用域繼續執行的問

Java Web 錯誤/異常處理頁面更新

更新!!之前的程式碼嚴重過度設計!!現修正只是一張 jsp 即可。<%@page pageEncoding="UTF-8" isErrorPage="true" import="java.io.*"%> <%!/** * 收集錯誤資訊 輸出到網頁 *

自然語言處理基礎1--基本分詞方法

         基本的分詞方法包括最大匹配法、最大概率法(最短加權路徑法)、最少分詞法、基於HMM的分詞法、基於互現資訊的分詞方法、基於字元標註的方法和基於例項的漢語分詞方法等。       1.最大匹配法         最大匹配法需要一個詞表,分詞的過程中用文字的候選

Python自然語言處理實戰1:NLP基礎

      從建模的角度看,為了方便計算機處理,自然語言可以被定義為一組規則或符號的集合,我們組合集合中的符號來傳遞各種資訊。自然語言處理研究表示語言能力、語言應用的模型,通過建立計算機框架來實現這樣的語言模型,並且不斷完善這樣的語言模型,還需要根據語言模型來設計各種實用的系

Java知識點模塊化1—— 面向對象

只需要 知識 pad 產生 自動裝箱 pri 生存 new 使用 前言   這是我整理的Java筆記,分模塊會陸續上齊,具體鏈接如下:   1.面向對象:http://www.cnblogs.com/Gabby/p/6857406.html   2.集合:   3.IO:

java在線考試系統1需求

圖片 加密 一段 模擬 文字 申請 color 練習 環境 一、網站運行環境 網站運行在汽車專業中職院校實訓室內,實訓室內設一臺式機電腦作為服務器,實訓室內有不同的實訓臺架(如發動機實訓臺),每一個臺架上配置一臺臺式機電腦,實訓臺與服務器通過局域網互聯。學生考試時,在實訓臺

Java語言基礎學習筆記

day tez lec mdk abd err .com mar mdm 烈7A茨諳9m繁5暗MChttp://www.zcool.com.cn/collection/ZMTg3NzE1Njg=.html 3馗iC蓖17握WM啦http://www.zcool.com.cn

Java語言中的----繼承

java語言中的----繼承(一)day10 Java語言中的繼承(一)一、繼承概述: 繼承:什麽是繼承,程序中的繼承與生活中的繼承還是有區別的,在程序中繼承以後,你的父類和你的子類同樣的也具有某一成員變量。那麽我們為什麽藥學習繼承?是因為我們在編程的時候我們會有大量的代碼需要重寫,從而導致我們代碼比較

go 語言 基礎 類型1

必須 const 表達式 基本 基本類 image 關鍵字 字符串 函數 變量 使用關鍵字 var定義變量,自動初始化為0值。如果提供初始化值,可省略變量類型,由編譯器自動推斷。 在函數內部可以使用 := 方式定義變量 func main() { x := 123

java基礎--extension package guava1

圖片 eat override splay ret 需要 out 靜態初始化 transform 1.guava 簡介 Guava 是一個 Google 的基於java1.6的類庫集合的擴展項目,包括 collections, caching, primitives sup

基於qml創建最簡單的圖像處理程序1-基於qml創建界面

cep font mes quit vid www 習慣 image ble 為什麽使用QT,包括進一步使用QML?兩個主要原因,一是因為我是一個c++程序員,有語言使用慣性;二是我主要做圖像處理方面工作,使用什麽平臺對於我來說不重要,我只需要在不同平臺上面能

Java學習——個人經驗集1

get 個人經驗 public 自動生成 odin tar void super source 【Coding】 1、自動生成生成構造函數。 Source→Generate Constructors from Superclass abstract class S

基於Java語言構建區塊鏈—— 基本原型

java 分布式 程序員 後端引言 區塊鏈技術是一項比人工智能更具革命性的技術,人工智能只是提高了人類的生產力,而區塊鏈則將改變人類社會的生產關系,它將會顛覆我們人類社會現有的協作方式。了解和掌握區塊鏈相關知識和技術,是我們每位開發人員必須要去做的事情,這樣我們才能把握住這波時代趨勢的紅利。 本文將基於Jav

基於Java語言構建區塊鏈—— 工作量證明

分布式 java引言 在 上一篇 文章中,我們實現了區塊鏈最基本的數據結構模型,添加區塊以及和前一個區塊連接在一起。但是,我們的實現方式非常簡單,而真實的比特幣區塊鏈中,每一個區塊的添加都是需要經過大量的計算才可以完成,這個過程就是我們熟知的挖礦。 工作量證明機制區塊鏈最關鍵的一個思想就是,必須進行大量且困難

基於Java語言構建區塊鏈—— 持久化 & 命令行

java 分布式 編程語言 程序員 引言上一篇 文章我們實現了區塊鏈的工作量證明機制(Pow),盡可能地實現了挖礦。但是距離真正的區塊鏈應用還有很多重要的特性沒有實現。今天我們來實現區塊鏈數據的存儲機制,將每次生成的區塊鏈數據保存下來。有一點需要註意,區塊鏈本質上是一款分布式的數據庫,我們這裏

數字信號處理專題1——DDS函數發生器環路Demo

掌握 adc 基於 signals span 測試 bug pga 原理 一、前言   會FPGA硬件描述語言、設計思想和接口協議,掌握些基本的算法是非常重要的,因此開設本專題探討些基於AD DA數字信號處理系統的一些簡單算法,在數字通信 信號分析與檢測等領域都會或多或少有

基於Java語言構建區塊鏈—— 持久化 & 命令列

文章的主要思想和內容均來自:https://jeiwan.cc/posts/building-blockchain-in-go-part-3/ 原文連結:https://wangwei.one/posts/35c768a3.html 引言 上一篇文章我們實現

Java並發編程1:可重入內置鎖

自己 如果 監視器 退出 進一步 自動 其他 實例 () 每個Java對象都可以用做一個實現同步的鎖,這些鎖被稱為內置鎖或監視器鎖。線程在進入同步代碼塊之前會自動獲取鎖,並且在退出同步代碼塊時會自動釋放鎖。獲得內置鎖的唯一途徑就是進入由這個鎖保護的同步代碼塊或方法。 當某個

處理符號1

一、 @ 這個字元在批處理中的意思是關閉當前行的回顯。我們從前幾課知道ECHO OFF可以關閉掉整個批處理命令的回顯,但不能關掉ECHO OFF這個命令,現在我們在ECHO OFF這個命令前加個@,就可以達到所有命令均不回顯的要求 1.bat echo off dir d:\ 2.