自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java基礎(chǔ)入門之異常、異常分類、異常防護(hù)解析

開發(fā) 后端
這篇文章我們主要介紹Java基礎(chǔ)入門之異常、異常分類、異常防護(hù)知識,一起來學(xué)習(xí)下吧!

[[383489]]

前言

大家好,我是Java進(jìn)階者。這篇文章我們主要介紹Java基礎(chǔ)入門之異常、異常分類、異常防護(hù)知識,一起來學(xué)習(xí)下吧!

一、異常

(一)什么是異常

在我們現(xiàn)實(shí)生活中,例如感冒發(fā)燒、電腦突然出現(xiàn)藍(lán)屏等,在程序中也會出現(xiàn)不正常的情況,例如磁盤不足、網(wǎng)絡(luò)中斷等,像我們手機(jī)有時候微信會出現(xiàn)彈窗提示無法響應(yīng)。在程序執(zhí)行中,任何中斷正常程序運(yùn)行就是異常。

(二)java中引起異常因素

第一種,Java 虛擬機(jī)檢測到不正常的運(yùn)行,這些狀態(tài)可能是由以下幾種情況引起的:

1.表達(dá)式算數(shù)異常,例如3被0整數(shù)。

2.在載入程序時出現(xiàn)錯誤。

3.超出某些限制資源,例如使用的內(nèi)存空間太多了。

第二種,Java代碼中的throw 語句被運(yùn)行。

第三種,異步異常,這個異??赡艿脑蚴?/p>

1.thread 的stop 方法被執(zhí)行。

2.Java 虛擬機(jī)內(nèi)部出現(xiàn)錯誤。

(三)java處理異常有兩種方式捕獲異常和拋出異常

1.捕獲異常:當(dāng)明確知道怎么去處理這些異常時,采取捕獲的方式進(jìn)行處理。

2.拋出異常:當(dāng)不知道怎么去處理這些異常時,采取拋出的方式進(jìn)行處理。

(四)異常例子

例如:

  1. public class p34 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         int result=div(6,0);//調(diào)用div()方法 
  5.         System.out.println(result); 
  6. //此方法實(shí)現(xiàn)兩個整數(shù)相除 
  7. public static int div(int a,int b){ 
  8.         int result=a/b;//定義一個int類型變量result,保存兩個數(shù)相除結(jié)果 
  9.         return result;//結(jié)果返回值 
  10.   } 

運(yùn)行的結(jié)果是:

 

我們從上面的運(yùn)行結(jié)果可以看到j(luò)ava.lang.ArithmeticException,這個異常是調(diào)用div()方法傳入了0,在運(yùn)算時出現(xiàn)錯誤,因為是被0整除。在Java運(yùn)行時系統(tǒng)找不到可以捕獲異常的方法,就會運(yùn)行時系統(tǒng)將終止,相應(yīng)的Java程序也將退出。

二、異常分類

Object是所有類的父類或基類,Throwable類分別由兩個子類Error和Exception。Error表示的是產(chǎn)生的錯誤,Exception表示產(chǎn)生的異常。


Error類表示錯誤類,表示在程序在運(yùn)行產(chǎn)生系統(tǒng)出現(xiàn)錯誤或超出某些限制資源,這種情況是如果改程序本身是不能恢復(fù)的運(yùn)行的。

Exception類表示異常類,表示本身可以處理錯誤,在開發(fā)程序中進(jìn)行異常處理,針對它的子類。

Throwable類常用方法

String getMessage()方法是返回Throwable詳細(xì)信息字符串

Void printStackTrace()方法是把 Throwable 及其追蹤輸出至標(biāo)準(zhǔn)錯誤流。

Void printStackTrace()方法是把 Throwable 及其追蹤輸出到指定輸出流。

三、try...catch語句

1.如果Java運(yùn)行時系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時系統(tǒng)將終止,相應(yīng)的Java程序也將退出。解決這個問題使用一種異常進(jìn)行的處理方式是異常處理。

2.異常捕獲語法

  1. try  
  2. {  
  3. //可能發(fā)生異常的代碼塊;  
  4. }  
  5. catch(異常類型  異常的對象名)//捕獲并處理異常 
  6. //異常處理代碼塊;  

3.使用try...catch語句例子

  1. public class p35 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         //定義一個try...catch語句捕獲異常 
  5.         try{ 
  6.             int result=div(6,0);//調(diào)用div()方法 
  7.             System.out.println(result); 
  8.         }catch(Exception e){//捕獲并處理異常 
  9.             System.out.println("捕獲異常信息為"+e.getMessage()); 
  10.         } 
  11.         System.out.println("程序繼續(xù)向下執(zhí)行"); 
  12. //此方法實(shí)現(xiàn)兩個整數(shù)相除 
  13.         public static int div(int a,int b){ 
  14.             int result=a/b;//定義一個int類型變量result,保存兩個數(shù)相除結(jié)果 
  15.             return result;//結(jié)果返回值 
  16.         } 

運(yùn)行的結(jié)果是:


從上面代碼中,try代碼塊是可能發(fā)生異常的代碼塊,發(fā)生被0整除,接著運(yùn)行catch代碼調(diào)用Exception對象的getMessage()方法,返回異常信息/ by zero。處理完后繼續(xù)往下執(zhí)行。

四、總結(jié)

本文主要介紹了異常、異常分類、try...catch語句。

異常是在程序執(zhí)行中,任何中斷正常程序運(yùn)行就是異常。介紹了引起異常的因素,java處理異常有兩種方式捕獲異常和拋出異常,使用異常的例子來幫助理解什么是異常。

異常分類Object是所有類的父類或基類,Throwable類分別由兩個子類Error和Exception。介紹了Throwable類常用方法。

當(dāng)Java運(yùn)行時系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時系統(tǒng)將終止,相應(yīng)的Java程序也將退出,使用try...catch語句解決這個問題。

希望大家通過本文的學(xué)習(xí),對你有所幫助!

 

責(zé)任編輯:姜華 來源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-03-18 10:01:06

Java編譯異常運(yùn)行異常

2021-02-22 08:39:03

Java關(guān)鍵字Java基礎(chǔ)

2022-10-11 09:33:04

Java異常Exception

2012-12-21 10:48:20

Java異常

2018-08-20 16:25:48

編程語言Java異常處理

2023-12-11 14:19:00

Java程序異常

2011-03-28 09:17:14

Java 7mutilcatch

2012-11-12 10:32:48

IBMdw

2018-07-11 19:41:47

MySQL定義異常異常處理

2009-12-24 15:04:12

WPF代碼解析異常

2021-07-08 11:22:55

Java異常處理

2023-03-01 09:07:44

前端監(jiān)控異常

2022-12-28 08:17:19

異常處理code

2025-02-08 07:00:00

2010-06-09 09:18:34

.NET 4并行編程

2023-12-27 07:53:08

全局異常處理處理應(yīng)用

2011-04-06 11:08:52

Java異常

2013-08-22 17:10:09

.Net異常處理

2011-12-21 11:18:59

Java

2015-02-03 14:45:55

android全局異常
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號