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