日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java throw异常_java throw拋出异常详解

發布時間:2024/9/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java throw异常_java throw拋出异常详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前給大家介紹了java

throws聲明異常,那么和throws不一樣的是throw語句用來直接拋出一個異常,后接一個可拋出的異常類對象,下面的話一起來詳細的了解一下throw拋出異常吧。

下面是語法格式:throw?ExceptionObject;

注意,ExceptionObject必須是Throwable類或者是其子類的對象,哪怕是自定義異常類,也必須是Throwable的直接或者是間接子類。

例:

下面的語句會在編譯的時候產生語法錯誤:throw?new?String("拋出異常");????//?String類不是Throwable類的子類

在throw語句執行的時候,它后面的語句將不執行,這個時候,程序轉向調用者程序,尋找和它相匹配的catch語句,執行相應的異常處理程序。

假如,沒有找到相匹配的catch語句,那么,再轉向上一層的調用程序,這樣逐層向上,直到最外層的異常處理程序終止程序并打印出調用棧情況。

throw關鍵字不會單獨使用,它的使用完全符合異常的處理機制,但是,一般來講用戶都在避免異常的產生,所以不會手工拋出一個新的異常類的實例,而往往會拋出程序中已經產生的異常類的實例。

示例:

在某倉庫管理系統當中,要求管理員的用戶名需要由8位以上的字母或者數字組成,不能含有其他的字符。

當長度在8位以下時拋出異常,并顯示異常信息;

當字符含有非字母或者數字時,同樣拋出異常,顯示異常信息;

代碼:import?java.util.Scanner;

public?class?Test05

{

public?boolean?validateUserName(String?username)

{

boolean?con?=?false;

if?(username.length()?>?8)

{

//?判斷用戶名長度是否大于8位

for?(int?i?=?0;?i?

{

char?ch?=?username.charAt(i);?//?獲取每一位字符

if?((ch?>=?'0'?&&?ch?<=?'9')?||?(ch?>=?'a'?&&?ch?<=?'z')?||?(ch?>=?'A'?&&?ch?<=?'Z'))

{

con?=?true;

}

else

{

con?=?false;

throw?new?IllegalArgumentException("用戶名只能由字母和數字組成!");

}

}

}

else

{

throw?new?IllegalArgumentException("用戶名長度必須大于?8?位!");

}

return?con;

}

public?static?void?main(String[]?args)

{

Test05?te?=?new?Test05();

Scanner?input?=?new?Scanner(System.in);

System.out.println("請輸入用戶名:");

String?username?=?input.next();

try

{

boolean?con?=?te.validateUserName(username);

if?(con)

{

System.out.println("用戶名輸入正確!");

}

}

catch?(IllegalArgumentException?e)

{

System.out.println(e);

}

}

}

在validateUserName()方法中兩處拋出了IllegalArgumentException異常,也就是當用戶名字符含有非字母或者數字以及長度不夠8位的時候,在main()方法當中,調用了validateUserName()方法,并使用catch語句捕獲該方法可能拋出的異常。

運行程序,當用戶輸入的用戶名包含非字母或者數字的字符時,程序輸出異常信息,如下:請輸入用戶名:

administrator@#

java.lang.IllegalArgumentException:?用戶名只能由字母和數字組成!

用戶輸入的用戶名長度不夠8位的時候,程序同樣會輸出異常信息,如下:請輸入用戶名:

admin

java.lang.IllegalArgumentException:?用戶名長度必須大于?8?位!

以上就是對于java throw拋出異常的介紹了,你都清楚了吧,更多常見問題,可以繼續的通過奇Q工具網來進行了解哦。

推薦閱讀:

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java throw异常_java throw拋出异常详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。