




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
任務(wù)定義用戶齡的異常類(lèi)第一頁(yè),共五十一頁(yè),2022年,8月28日
5.1任務(wù)描述
學(xué)生在線考試系統(tǒng)中,用戶注冊(cè)需要輸入年齡,若輸入不合理的年齡,我們將在程序中拋出異常,并做相關(guān)處理。為此,本章任務(wù)是自定義一個(gè)關(guān)于年齡的異常類(lèi)。第二頁(yè),共五十一頁(yè),2022年,8月28日
5.2技術(shù)要點(diǎn)
在進(jìn)行程序設(shè)計(jì)時(shí),錯(cuò)誤的產(chǎn)生是不可避免的,其中錯(cuò)誤包括語(yǔ)法錯(cuò)誤和運(yùn)行錯(cuò)誤。一般稱(chēng)編譯時(shí)被檢測(cè)出來(lái)的錯(cuò)誤為語(yǔ)法錯(cuò)誤,這種錯(cuò)誤一旦產(chǎn)生程序?qū)⒉槐贿\(yùn)行。然而,并非所有錯(cuò)誤都能在編譯期間檢測(cè)到,有些問(wèn)題可能會(huì)在程序運(yùn)行時(shí)才暴露出來(lái)。例如,想打開(kāi)的文件不存在、網(wǎng)絡(luò)連接中斷、受控操作數(shù)超出預(yù)定范圍、除數(shù)為0等。這類(lèi)在程序運(yùn)行時(shí)代碼序列中產(chǎn)生的出錯(cuò)情況稱(chēng)為運(yùn)行錯(cuò)誤。這種運(yùn)行錯(cuò)誤倘若沒(méi)有及時(shí)進(jìn)行處理,可能會(huì)造成程序中斷、數(shù)據(jù)遺失乃至系統(tǒng)崩潰等問(wèn)題。這種運(yùn)行錯(cuò)誤也就是我們常說(shuō)的“異?!?。第三頁(yè),共五十一頁(yè),2022年,8月28日在不支持異常處理的傳統(tǒng)程序設(shè)計(jì)語(yǔ)言中,設(shè)計(jì)的程序要包含很長(zhǎng)的代碼來(lái)識(shí)別潛在的運(yùn)行錯(cuò)誤的條件。傳統(tǒng)的檢測(cè)錯(cuò)誤的方法包括使用一些可以設(shè)置為真或假的變量來(lái)對(duì)錯(cuò)誤進(jìn)行捕獲,相似的錯(cuò)誤條件必須在每個(gè)程序中分別處理,這顯然麻煩而且低效。例如在C語(yǔ)言中,通過(guò)使用if語(yǔ)句來(lái)判斷是否出現(xiàn)了錯(cuò)誤,同時(shí),要調(diào)用函數(shù)并通過(guò)被調(diào)用函數(shù)的返回值感知在被調(diào)用函數(shù)中產(chǎn)生的錯(cuò)誤事件并進(jìn)行處理。這種錯(cuò)誤處理機(jī)制會(huì)導(dǎo)致把大部分精力花在出錯(cuò)處理上;且只把能夠想到的錯(cuò)誤考慮到,對(duì)其他情況無(wú)法處理;程序可讀性也很差,大量的錯(cuò)誤處理代碼混雜在程序中;出錯(cuò)返回信息量太少,無(wú)法更確切地了解錯(cuò)誤狀況或原因。第四頁(yè),共五十一頁(yè),2022年,8月28日例5-1的程序中沒(méi)有任何異常處理的相關(guān)代碼,編譯時(shí)能順利通過(guò),但運(yùn)行時(shí)屏幕顯示如圖5-1所示的界面,并中斷程序的運(yùn)行。
例5-1TestException.java
1classTestException1{
2publicstaticvoidmain(Stringargs[]){
3inta=8,b=0;
4intc=a/b;//除數(shù)為0,出現(xiàn)異常
5System.out.print(c);
6}
7}第五頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D5-1運(yùn)行時(shí)錯(cuò)誤提示第六頁(yè),共五十一頁(yè),2022年,8月28日程序出錯(cuò)原因是因?yàn)槌龜?shù)為0。Java發(fā)現(xiàn)這個(gè)錯(cuò)誤之后,便由系統(tǒng)拋出“ArithmeticException”這個(gè)類(lèi)的異常,用來(lái)說(shuō)明錯(cuò)誤的原因,以及出錯(cuò)的位置是在TestException1.java程序中的第4行,并停止運(yùn)行程序。因此,如果沒(méi)有編寫(xiě)處理異常的程序代碼,則Java的默認(rèn)異常處理機(jī)制會(huì)先拋出異常,然后終止程序運(yùn)行。第七頁(yè),共五十一頁(yè),2022年,8月28日上例中出現(xiàn)的異常比較簡(jiǎn)單,在編程中完全可以避免,但是有的異常在程序的編寫(xiě)過(guò)程中是無(wú)法預(yù)知的。例如,要訪問(wèn)的文件不存在,網(wǎng)絡(luò)連接的過(guò)程中發(fā)生中斷等。為了處理程序運(yùn)行中一些無(wú)法避免的異常,Java語(yǔ)言提供了異常處理機(jī)制,為方法的異常終止和出錯(cuò)處理提供了清楚的接口,同時(shí)將功能代碼和異常處理的代碼進(jìn)行分開(kāi)編寫(xiě)。第八頁(yè),共五十一頁(yè),2022年,8月28日5.2.1異常類(lèi)
1.異常類(lèi)的層次結(jié)構(gòu)
Java中的所有異常都是Throwable類(lèi)或子類(lèi),而Throwable類(lèi)又直接繼承于Object類(lèi)。Throwable類(lèi)有兩個(gè)子類(lèi):類(lèi)與類(lèi)。Exception類(lèi)又進(jìn)一步細(xì)分為RuntimeException(運(yùn)行異常)類(lèi)和Non-RuntimeException(非運(yùn)行異常)類(lèi)。圖5-2顯示了各異常之間的繼承關(guān)系。第九頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D5-2異常類(lèi)的層次結(jié)構(gòu)第十頁(yè),共五十一頁(yè),2022年,8月28日
2.Error類(lèi)及其子類(lèi)
Error類(lèi)專(zhuān)門(mén)用來(lái)處理嚴(yán)重影響程序運(yùn)行的錯(cuò)誤,一般情況下我們不會(huì)設(shè)計(jì)程序代碼去捕捉這種錯(cuò)誤,其原因在于即使捕捉到它,也無(wú)法給予適當(dāng)?shù)奶幚怼@?,虛擬機(jī)錯(cuò)誤、動(dòng)態(tài)鏈接失敗等。表5-1列出一些常見(jiàn)的Error類(lèi)。第十一頁(yè),共五十一頁(yè),2022年,8月28日表5-1常見(jiàn)的Error類(lèi)第十二頁(yè),共五十一頁(yè),2022年,8月28日
3.Exception類(lèi)及其子類(lèi)
相對(duì)于Error類(lèi),Exception類(lèi)包含了一般性的異常,這些異常通常在捕捉到之后可以做一些妥善的處理,以確保程序繼續(xù)運(yùn)行。從異常類(lèi)的繼承層次結(jié)構(gòu)圖中可以看出,Exception類(lèi)的若干子類(lèi)中包含運(yùn)行時(shí)異常類(lèi)(RuntimeException)和非運(yùn)行時(shí)異常類(lèi)。第十三頁(yè),共五十一頁(yè),2022年,8月28日
1)運(yùn)行時(shí)異常
運(yùn)行異常是在Java運(yùn)行系統(tǒng)執(zhí)行過(guò)程中的異常,對(duì)于RuntimeException類(lèi)的異常,即使不編寫(xiě)異常處理的程序代碼,依然可以編譯成功,因?yàn)樵摦惓J窃诔绦蜻\(yùn)行時(shí)才有可能發(fā)生的,例如算術(shù)異常(除數(shù)為0)、數(shù)組下標(biāo)越界等。由于這類(lèi)異常產(chǎn)生得比較頻繁,并且通過(guò)仔細(xì)編程完全可以避免。如果顯式地通過(guò)異常處理機(jī)制去處理,則會(huì)影響整個(gè)程序的運(yùn)行效率。因此,對(duì)于RuntimeException類(lèi),一般由系統(tǒng)自動(dòng)檢測(cè),并將它們交給缺省的異常處理程序。表5-2列出幾種常見(jiàn)的運(yùn)行時(shí)異常類(lèi)。第十四頁(yè),共五十一頁(yè),2022年,8月28日表5-2常見(jiàn)運(yùn)行時(shí)異常類(lèi)第十五頁(yè),共五十一頁(yè),2022年,8月28日
2)非運(yùn)行時(shí)異常
非運(yùn)行時(shí)異常是由編譯器在編譯時(shí)檢測(cè)是否會(huì)發(fā)生在方法的執(zhí)行過(guò)程中的異常。對(duì)于非運(yùn)行時(shí)的異常類(lèi),即使通過(guò)仔細(xì)編程也無(wú)法避免。例如,要訪問(wèn)的文件不存在等情況。這類(lèi)異常通常都在JDK說(shuō)明文檔中定義的方法后面通過(guò)throws關(guān)鍵字將異常拋出,編程時(shí)必須捕獲并做相應(yīng)處理。如圖5-3所示,類(lèi)中定義了read方法:
publicintread(CharBuffertarget)throwsIOException
在編程中,若要使用read方法,則必須對(duì)其可能產(chǎn)生的IOException異常進(jìn)行捕獲和相應(yīng)的處理。第十六頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D類(lèi)的read方法第十七頁(yè),共五十一頁(yè),2022年,8月28日表5-3列出了常見(jiàn)的非運(yùn)行時(shí)異常。第十八頁(yè),共五十一頁(yè),2022年,8月28日表5-3常見(jiàn)的非運(yùn)行時(shí)異常第十九頁(yè),共五十一頁(yè),2022年,8月28日5.2.2異常的捕獲和處理
例5-1中異常發(fā)生后,系統(tǒng)自動(dòng)把這個(gè)異常拋了出來(lái),但是拋出來(lái)之后沒(méi)有程序代碼去捕捉(catch)異常并進(jìn)行相應(yīng)的處理。Java中的異常處理是由try、catch與finally三個(gè)關(guān)鍵字所組成的程序塊進(jìn)行的。其語(yǔ)法為
try{
正常程序段,可能拋出異常;
}
catch(異常類(lèi)1異常變量){
捕捉異常類(lèi)1有關(guān)的處理程序段;第二十頁(yè),共五十一頁(yè),2022年,8月28日
}
catch(異常類(lèi)2異常變量){
捕捉異常類(lèi)2有關(guān)的處理程序段;
}
finally{
一定會(huì)運(yùn)行的程序代碼;
}第二十一頁(yè),共五十一頁(yè),2022年,8月28日
1.try塊——捕獲異常
try用于監(jiān)控可能發(fā)生異常的程序代碼塊是否發(fā)生異常,如果發(fā)生異,try部分將拋出異常類(lèi)所產(chǎn)生的對(duì)象并立刻結(jié)束執(zhí)行,而轉(zhuǎn)向異常處理代碼catch部分。try塊中。對(duì)于系統(tǒng)產(chǎn)生的異常或程序塊中未用try監(jiān)視所產(chǎn)生的異常,將一律由Java運(yùn)行系統(tǒng)自動(dòng)將異常對(duì)象拋出。第二十二頁(yè),共五十一頁(yè),2022年,8月28日
2.catch塊——處理異常
拋出的對(duì)象如果屬于catch()括號(hào)內(nèi)欲捕獲的異常類(lèi),則catch會(huì)捕獲此異常,然后進(jìn)入到catch塊里繼續(xù)運(yùn)行。catch包括兩個(gè)參數(shù):一個(gè)是類(lèi)名,指出捕獲的異常類(lèi)型,必須是Throwable類(lèi)的子類(lèi);一個(gè)是參數(shù)名,用來(lái)引用被捕獲的對(duì)象。catch塊所捕獲的對(duì)象并不需要與它的參數(shù)類(lèi)型精確匹配,它可以捕獲參數(shù)中指出的異常類(lèi)的對(duì)象及其所有子類(lèi)的
對(duì)象。第二十三頁(yè),共五十一頁(yè),2022年,8月28日在catch塊中,對(duì)異常處理的操作根據(jù)異常的不同而執(zhí)行不同的操作。例如,可以進(jìn)行錯(cuò)誤恢復(fù)或者退出系統(tǒng),通常的操作是打印異常的相關(guān)信息,包括異常的名稱(chēng)、產(chǎn)生異常的方法名、方法調(diào)用的完整、執(zhí)行棧的軌跡等。異常類(lèi)常用方法如表5-4所示。第二十四頁(yè),共五十一頁(yè),2022年,8月28日表5-4異常類(lèi)常用方法第二十五頁(yè),共五十一頁(yè),2022年,8月28日例5-2TryCatchDemo.java
1publicclassTryCatchDemo{
2publicstaticvoidmain(Stringargs[]){
3try{
4inta=8,b=0;
5intc=a/b;
6System.out.print(c);
7}
8catch(ArithmeticExceptione){第二十六頁(yè),共五十一頁(yè),2022年,8月28日
9System.out.println(“發(fā)生的異常簡(jiǎn)短描述是:"+e.getMessage());
10System.out.println("發(fā)生的異常詳細(xì)信息是:"+e.toString());
11}
12}
13}
程序運(yùn)行結(jié)果如圖5-4所示。第二十七頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D5-4try-catch示例第二十八頁(yè),共五十一頁(yè),2022年,8月28日
3.finally塊——清除工作
finally塊是可選的,通過(guò)finally語(yǔ)句可以為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流轉(zhuǎn)到程序的其他部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的處理。不論在try代碼塊中是否發(fā)生了異常,finally代碼塊中的語(yǔ)句都會(huì)被執(zhí)行。通常在finally語(yǔ)句中可以進(jìn)行資源的清除工作。例如,關(guān)閉打開(kāi)的文件,刪除臨時(shí)文件等。
例5-3TryCatchFinally.java
1publicclassTryCatchFinally{
2publicstaticvoidmain(Stringargs[]){
3try{第二十九頁(yè),共五十一頁(yè),2022年,8月28日
4intarr[]=newint[5];
5arr[5]=100;
6}catch(ArrayIndexOutOfBoundsExceptione){
7System.out.println("數(shù)組越界!");
8}catch(Exceptione){
9System.out.println("捕獲所有其他Exception類(lèi)異常!");
10}
11finally{
12 System.out.println("程序無(wú)條件執(zhí)行該語(yǔ)句!");
13}第三十頁(yè),共五十一頁(yè),2022年,8月28日
14}
15}
程序運(yùn)行結(jié)果為
數(shù)組越界!
程序無(wú)條件執(zhí)行該語(yǔ)句!
第三十一頁(yè),共五十一頁(yè),2022年,8月28日當(dāng)代碼中可能出現(xiàn)多種異常時(shí),可以分別用多個(gè)catch語(yǔ)句捕獲,往往將最后一個(gè)catch子句的異常類(lèi)指定為所有異常類(lèi)的父類(lèi)Exception,這樣可以在發(fā)生的異常不能和catch子句中所提供的異常類(lèi)型匹配時(shí),將異常全部交于catch(Exceptione)對(duì)應(yīng)的程序代碼來(lái)處理。但要注意,異常子類(lèi)必須在其任何父類(lèi)之前使用,若將catch(Exceptione)作為第一條catch子句,則所有異常將被其捕獲,而不能執(zhí)行其后的catch子句。第三十二頁(yè),共五十一頁(yè),2022年,8月28日5.2.3異常的拋出
異常的拋出可以分為兩大類(lèi):一類(lèi)是由系統(tǒng)自動(dòng)拋出(例5-2和例5-3);另一類(lèi)則是通過(guò)關(guān)鍵字throw將異常對(duì)象顯式地拋出。顯式拋出異常從某種程度上實(shí)現(xiàn)了將處理異常的代碼從正常流程代碼中分離開(kāi),使得程序的主線相對(duì)完整,同時(shí)增加了程序的可讀性和可維護(hù)性。異常沿著調(diào)用層次向上拋出,交由調(diào)用它的方法來(lái)處理。
異常拋出的語(yǔ)法如下:
thrownew異常類(lèi)();
其中,異常類(lèi)必須為T(mén)hrowable類(lèi)及其子類(lèi)。第三十三頁(yè),共五十一頁(yè),2022年,8月28日例5-4TestException2.java
1classTestException2
2{staticvoidthrowOne(inti)
3{if(i==0)
4thrownewClassNotFoundException();
5}
6publicstaticvoidmain(Stringargs[])
7{
8throwOne(0);
9}
10}第三十四頁(yè),共五十一頁(yè),2022年,8月28日例5-4中,方法throwOne()通過(guò)throw將產(chǎn)生的classNotFoundException的異常對(duì)象拋出。但是該程序仍然有編譯錯(cuò)誤,這是因?yàn)樵趖hrowOne()方法處沒(méi)有進(jìn)行異常類(lèi)的聲明,同時(shí)在main()方法中沒(méi)有對(duì)異常進(jìn)行捕獲和處理。第三十五頁(yè),共五十一頁(yè),2022年,8月28日5.2.4異常的聲明
如果程序中定義的方法可能產(chǎn)生異常,可以直接在該方法中捕獲并處理該異常,也可以向上傳遞,由調(diào)用它的方法來(lái)處理異常。這時(shí)需要在該方法名后面進(jìn)行異常的聲明,表示該方法中可能有異常產(chǎn)生。一個(gè)throws子句列出了可能拋出的異常類(lèi)型。若該方法中可能拋出多個(gè)異常,則將異常類(lèi)型用逗號(hào)分隔。第三十六頁(yè),共五十一頁(yè),2022年,8月28日包括throws子句的方法聲明的一般格式如下:
<類(lèi)型說(shuō)明>方法名(參數(shù)列表)throws<異常類(lèi)型列表>
{
方法體;
}第三十七頁(yè),共五十一頁(yè),2022年,8月28日例5-5TestException3.java
1classTestException3{
2staticvoidthrowOne(inti)throwsArithmeticException{
3if(i==0)
4thrownewArithmeticException("i值為零");
5}
6publicstaticvoidmain(Stringargs[]){
7try{
8throwOne(0);
9}第三十八頁(yè),共五十一頁(yè),2022年,8月28日
10catch(ArithmeticExceptione){
11 System.out.println(“已捕獲到異常錯(cuò)誤:"+e.getMessage());
12}
13}
14}
程序運(yùn)行結(jié)果為
已捕獲到異常錯(cuò)誤:i值為零第三十九頁(yè),共五十一頁(yè),2022年,8月28日5.2.5自定義異常類(lèi)
Java系統(tǒng)定義了有限的異常用以處理可以預(yù)見(jiàn)的、較為常見(jiàn)的運(yùn)行錯(cuò)誤,對(duì)于某個(gè)應(yīng)用所特有的運(yùn)行錯(cuò)誤,有時(shí)則需要?jiǎng)?chuàng)建自己的異常類(lèi)來(lái)處理特定的情況。用戶自定義的異常類(lèi),只需繼承一個(gè)已有的異常類(lèi)就可以了,包括繼承Execption類(lèi)及其子類(lèi),或者繼承已自定義好的異常類(lèi)。如果沒(méi)有特別說(shuō)明,可以直接用Execption類(lèi)作為父類(lèi)。第四十頁(yè),共五十一頁(yè),2022年,8月28日自定義類(lèi)的格式如下:
class異常類(lèi)名extendsException
{
}
由于Exception類(lèi)并沒(méi)有定義它自己的任何方法,而它繼承了Throwable類(lèi)提供的方法,所以,任何異常都繼承了Throwabe定義的方法,常用方法如表5-4所示。也可以在自定義的異常類(lèi)中覆蓋這些方法中的一個(gè)或多個(gè)方法。第四十一頁(yè),共五十一頁(yè),2022年,8月28日自定義異常不能由系統(tǒng)自動(dòng)拋出,只能在方法中通過(guò)throw關(guān)鍵字顯式地拋出異常對(duì)象。使用自定義異常的步驟如下:
(1)首先通過(guò)繼承類(lèi)聲明自定義的異常類(lèi)。
(2)在方法的聲明部分用throws語(yǔ)句聲明該方法可能拋出的異常。
(3)在方法體的適當(dāng)位置創(chuàng)建自定義異常類(lèi)的對(duì)象,并用throw語(yǔ)句將異常拋出。
(4)調(diào)用該方法時(shí)對(duì)可能產(chǎn)生的異常進(jìn)行捕獲,并處理異常。第四十二頁(yè),共五十一頁(yè),2022年,8月28日例5-6演示了如何創(chuàng)建自定義的異常類(lèi)以及如何通過(guò)throw關(guān)鍵字拋出異常。
例5-6MyException.java
1classMyExceptionextendsException{
2privateintnum;
3MyException(inta){
4num=a;
5}
6publicStringtoString(){
7return"MyException["+num+"]";
8}第四十三頁(yè),共五十一頁(yè),2022年,8月28日
9}
10classExceptionDemo{
11staticvoidtest(inti)throwsMyException{
12System.out.println("調(diào)用test("+i+")");
13if(i>10)
14thrownewMyException(i);
15System.out.println("正常退出");
16}
17publicstaticvoidmain(Stringargs[]){
18try{
19test(5);第四十四頁(yè),共五十一頁(yè),2022年,8月28日
20test(15);
21}
22catch(MyExceptione){
23System.out.println(''捕捉''+e.toString());
24}
25}
26}
程序運(yùn)行結(jié)果為
調(diào)用test(5)
正常退出
調(diào)用test(15)
捕捉MyException[15]第四十五頁(yè),共五十一頁(yè),2022年,8月28日
5.3任務(wù)實(shí)施
例5-7中是自定義年齡異常,當(dāng)輸入的年齡大于50或小于18時(shí),將拋出異常。
例5-7Age.java
1classAgeExceptionextendsException{
2Stringmessage;
3AgeException(Stringname,intm){
4message=name+"的年齡"+m+"不正確";
5}
6publicStringtoString(){第四十六頁(yè),共五十一頁(yè),2022年,8月28日
7returnmessage;
8}
9}
10classUser{
11privateintage=1;
12privateStringname;
13User(Stringname){
14 =name;
15}
16publicvoidsetAge(intage)throwsAgeException{
17if(age>=50||age<=18)第四十七
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)脂素與多囊卵巢綜合征子宮內(nèi)膜病變的相關(guān)研究
- 內(nèi)衣加工采購(gòu)合同范本
- 小學(xué)數(shù)學(xué)教學(xué)中“說(shuō)”的訓(xùn)練
- 大數(shù)據(jù)背景下提高中職數(shù)學(xué)課堂教學(xué)質(zhì)量的方法探究
- 合同范本資金分配
- 住家房子租賃合同范本
- 面向重癥手術(shù)監(jiān)護(hù)數(shù)據(jù)的智能分析處理:方法、應(yīng)用與挑戰(zhàn)
- 陳化污泥氧化改性脫水固結(jié):機(jī)理剖析與精準(zhǔn)控制策略
- 勞動(dòng)合同范本內(nèi)蒙
- 廚房補(bǔ)充協(xié)議合同范例
- 中國(guó)老年危重患者營(yíng)養(yǎng)支持治療指南2023解讀課件
- 《管理信息系統(tǒng)》考試復(fù)習(xí)題庫(kù)(含答案)
- 2024年9月抖音短視頻及直播電商月報(bào)
- 《光伏電站運(yùn)行與維護(hù)》試題及答案一
- 人教版初中全部英語(yǔ)單詞表
- 2024年浙江省中考社會(huì)試卷真題(含標(biāo)準(zhǔn)答案及評(píng)分標(biāo)準(zhǔn))
- 2024年貴州省高職(專(zhuān)科)分類(lèi)考試招收中職畢業(yè)生文化綜合考試語(yǔ)文試題
- 一年級(jí)體育教案全冊(cè)(水平一)下冊(cè)
- 全身麻醉后護(hù)理常規(guī)
- 2024年貴州省貴陽(yáng)市白云區(qū)九年級(jí)中考一模數(shù)學(xué)試題(解析版)
- 神經(jīng)外科護(hù)理病例討論-腦膜瘤課件
評(píng)論
0/150
提交評(píng)論