摘要:創(chuàng)建和拋出異常對象當(dāng)我們的某個方法執(zhí)行當(dāng)中遇到錯誤,無法繼續(xù)處理的時候,我們也可以自己創(chuàng)建異常對象并拋出,交給方法的調(diào)用者處理。拋出異常的方式是使用關(guān)鍵字。如果日期字符串不符合格式,則拋出一個異常。
創(chuàng)建和拋出異常對象
當(dāng)我們的某個方法執(zhí)行當(dāng)中遇到錯誤,無法繼續(xù)處理的時候,我們也可以自己創(chuàng)建異常對象并拋出,交給方法的調(diào)用者處理。拋出異常的方式是使用 throw 關(guān)鍵字。下面是一個例子:
// 示例1:用戶輸入一個日期,求該日是星期幾 public static void main(String[] args) throws Exception { // 輸入日期字符串 System.out.print("請輸入一個日期(yyyy-MM-dd):"); String dateString = new Scanner(System.in).nextLine(); // 檢查日期字符串格式 if (!dateString.matches("^d{4}-d{2}-d{2}$")) { throw new IllegalArgumentException("日期格式不正確"); // 拋出異常 } // 將字符串轉(zhuǎn)化為時間類型并取其是星期幾 String weekDays = "日一二三四五六"; Calendar c = Calendar.getInstance(); c.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateString)); int weekDay = c.get(Calendar.DAY_OF_WEEK) - 1; System.out.println(dateString + " 是星期" + weekDays.charAt(weekDay)); }
在這個例子當(dāng)中,有一個檢查日期字符串格式的判斷。如果日期字符串不符合格式,則拋出一個 java.lang.IllegalArgumentException 異常。示例 1 的其他部分這里不多做解釋。
(未完)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/64204.html
摘要:所有能夠處理該異常的方法,都來自一個叫做調(diào)用堆棧的方法列表。如果運(yùn)行環(huán)境在調(diào)用堆棧中自始至終未能找到捕獲這個異常的代碼塊,那么整個程序?qū)⒔K止運(yùn)行。 本文嘗試以盡可能詳細(xì)的方式介紹 Java 當(dāng)中的異常概念和處理機(jī)制。本文適合 Java 初學(xué)者閱讀。 什么是異常 異常是發(fā)生在程序運(yùn)行過程中的,阻斷正常流程中的指令執(zhí)行的事件。 當(dāng)一個方法在執(zhí)行當(dāng)中發(fā)生錯誤時,這個方法就會創(chuàng)建一個特別...
摘要:聲明本文所有列舉的問題都來源于編程隨想的博客,這個博客的博主知識淵博,編程方面的一些文章質(zhì)量很高,給人醍醐灌頂?shù)母杏X。 聲明:本文所有列舉的問題都來源于 《編程隨想》的博客,這個博客的博主知識淵博,編程方面的一些文章質(zhì)量很高,給人醍醐灌頂?shù)母杏X。 算法和數(shù)據(jù)結(jié)構(gòu) 什么時候該用數(shù)組類型容器,什么時候該用鏈表型容器,如何合理的使用數(shù)據(jù)類型 什么是散列函數(shù),HashMap的實現(xiàn)原理是什么 ...
摘要:包含了支持服務(wù)開發(fā)的類,并為提供基礎(chǔ),如語言基礎(chǔ)操作操作網(wǎng)絡(luò)通信以及多線程等技術(shù)。在運(yùn)行文件時,的解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要加入的類在連接階段被載入到運(yùn)行環(huán)境中。支持多個線程同時執(zhí)行,并提供多線程之間的同步機(jī)制。 1.什么是Java語言 簡單地說,Java 是由 Sun Microsystems 公司于 1995 年推出的一門面向?qū)ο蟪绦蛟O(shè)計語言。2009 年 Or...
摘要:一以及術(shù)語是的簡稱,被譯為面向切面編程。切面由切點(diǎn)和增強(qiáng)組成,他包括了連接點(diǎn)定義和橫切邏輯代碼的定義,就是負(fù)責(zé)實施切面的框架。五使用來定義純粹的切面使用方法也非常簡單,使用的標(biāo)簽。采用動態(tài)代理和動態(tài)代理技術(shù)在運(yùn)行期間織入。 引言 AOP是軟件開發(fā)思想發(fā)展到一定階段的產(chǎn)物,AOP的出現(xiàn)并不是為了代替OOP,僅作為OOP的有益補(bǔ)充,在下面的例子中這個概念將會得到印證。AOP的應(yīng)用場合是受限...
摘要:要是使用到日歷的話,我們想到使用這個日歷類上面僅僅是我個人總結(jié)的要點(diǎn),如果有錯誤的地方還請大家給我指正。 納稅服務(wù)系統(tǒng)總結(jié) 納稅服務(wù)系統(tǒng)是我第一個做得比較大的項目(不同于javaWeb小項目),該項目系統(tǒng)來源于傳智Java32期,十天的視頻課程(想要視頻的同學(xué)關(guān)注我的公眾號就可以直接獲取了) 我跟著練習(xí)一步一步完成需求,才發(fā)覺原來Java是這樣用來做網(wǎng)站的,Java有那么多的類庫,頁面...
閱讀 2706·2021-11-11 16:54
閱讀 2329·2021-10-09 09:44
閱讀 2548·2019-08-30 15:54
閱讀 1936·2019-08-30 11:24
閱讀 1175·2019-08-29 17:03
閱讀 2107·2019-08-29 16:22
閱讀 2086·2019-08-29 13:11
閱讀 1044·2019-08-29 12:14