Java異常處理操作實(shí)例小結(jié)
本文實(shí)例講述了Java異常處理操作。分享給大家供大家參考,具體如下:
一 異常處理的使用——能夠捕獲到異常
1 代碼
public class DealException
{
public static void main( String[] args )
{
try
// 檢查這個(gè)程序塊的代碼
{
int arr[] = new int[5];
arr[10] = 7; // 在這里會(huì)出現(xiàn)異常
}
catch( ArrayIndexOutOfBoundsException e )
{
System.out.println( "數(shù)組超出綁定范圍!" );
}
finally
// 這個(gè)塊的程序代碼一定會(huì)執(zhí)行
{
System.out.println( "這里一定會(huì)被執(zhí)行!" );
}
System.out.println( "main()方法結(jié)束!" );
}
}
2 運(yùn)行
數(shù)組超出綁定范圍!
這里一定會(huì)被執(zhí)行!
main()方法結(jié)束!
二 異常處理的使用——不能夠捕獲到異常
1 代碼
public class DealException
{
public static void main( String[] args )
{
try
// 檢查這個(gè)程序塊的代碼
{
int arr[] = new int[5];
arr[10] = 7; // 在這里會(huì)出現(xiàn)異常
}
catch( ArithmeticException e )
{
System.out.println( "算術(shù)異常" );
}
finally
// 這個(gè)塊的程序代碼一定會(huì)執(zhí)行
{
System.out.println( "這里一定會(huì)被執(zhí)行!" );
}
System.out.println( "main()方法結(jié)束!" );
}
}
2 運(yùn)行
這里一定會(huì)被執(zhí)行!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at DealException.main(DealException.java:9)
3 說明
對于未捕獲到異常場景,finally語句塊會(huì)執(zhí)行,但finally語言塊之后的語句不能執(zhí)行,將異常交給JVM去處理,最后停止程序運(yùn)行。
三 異常對象ex的使用
1 代碼
public class excepObject
{
public static void main( String[] args )
{
try
{
int arr[] = new int[5];
arr[10] = 7;
}
catch( ArrayIndexOutOfBoundsException ex )
{
System.out.println( "數(shù)組超出綁定范圍!" );
System.out.println( "異常:" + ex ); // 顯示異常對象e的內(nèi)容
// ex.printStackTrace();
}
System.out.println( "main()方法結(jié)束!" );
}
}
2 運(yùn)行
數(shù)組超出綁定范圍!
異常:java.lang.ArrayIndexOutOfBoundsException: 10
main()方法結(jié)束!
四 通過多個(gè)catch捕獲異常
1 代碼
public class arrayException {
public static void main( String args[] ) {
System.out.println("-----A、計(jì)算開始之前");
try {
int arr[] = new int[5];
;
arr[0] = 3;
arr[1] = 6;
arr[1] = 0; // 除數(shù)為0,有異常
arr[10] = 7; // 數(shù)組下標(biāo)越界,有異常
int result = arr[0] / arr[1];
System.out.println("------B、除法計(jì)算結(jié)果:" + result);
} catch (ArithmeticException ex) {
ex.printStackTrace();
} catch (ArrayIndexOutOfBoundsException ex) {
ex.printStackTrace();
} finally {
System.out.println("-----此處不管是否出錯(cuò),都會(huì)執(zhí)行!??!");
}
System.out.println("-----C、計(jì)算結(jié)束之后。");
}
}
2 運(yùn)行
-----A、計(jì)算開始之前
java.lang.ArrayIndexOutOfBoundsException: 10
at arrayException.main(arrayException.java:19)
-----此處不管是否出錯(cuò),都會(huì)執(zhí)行!?。?br /> -----C、計(jì)算結(jié)束之后。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Spring Boot 中的 @ConditionalOnBean 注解場景分析
本文詳細(xì)介紹了Spring Boot中的@ConditionalOnBean注解的使用場景、原理和基本用法,通過多個(gè)示例,展示了如何使用該注解根據(jù)Bean是否存在來動(dòng)態(tài)地注冊或跳過特定的Bean,感興趣的朋友一起看看吧2025-03-03
JavaWeb實(shí)現(xiàn)郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了JavaWeb實(shí)現(xiàn)郵件發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
Java協(xié)程編程之Loom項(xiàng)目實(shí)戰(zhàn)記錄
這篇文章主要介紹了Java協(xié)程編程之Loom項(xiàng)目嘗鮮,如果用嘗鮮的角度去使用Loom項(xiàng)目,可以提前窺探JVM開發(fā)者們是如何基于協(xié)程這個(gè)重大特性進(jìn)行開發(fā)的,這對于提高學(xué)習(xí)JDK內(nèi)核代碼的興趣有不少幫助,需要的朋友可以參考下2021-08-08
教你如何將Springboot項(xiàng)目成功部署到linux服務(wù)器
這篇文章主要介紹了如何將Springboot項(xiàng)目成功部署到linux服務(wù)器上,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
五種SpringBoot實(shí)現(xiàn)數(shù)據(jù)加密存儲(chǔ)的方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種常見數(shù)據(jù)加密存儲(chǔ)的方法(結(jié)合SpringBoot和MyBatisPlus框架進(jìn)行實(shí)現(xiàn)),文中的示例代碼講解詳細(xì),需要的可以參考下2023-11-11
Java中Switch?Case多個(gè)條件處理方法舉例
Java中switch語句用于根據(jù)變量值執(zhí)行不同代碼塊,適用于多個(gè)條件的處理,這篇文章主要介紹了Java中Switch?Case多個(gè)條件處理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Spring MVC溫故而知新系列教程之請求映射RequestMapping注解
這篇文章主要介紹了Spring MVC溫故而知新系列教程之請求映射RequestMapping注解的相關(guān)知識(shí),文中給大家介紹了RequestMapping注解提供的幾個(gè)屬性及注解說明,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05

