




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8章章 異常處理異常處理C+語(yǔ)言程序設(shè)計(jì)教程語(yǔ)言程序設(shè)計(jì)教程大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第6章章 多態(tài)多態(tài)大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院8.5 異常的重拋8.4 函數(shù)聲明中異常的指定8.3 函數(shù)嵌套調(diào)用的異常處理8.2 異常處理的語(yǔ)法結(jié)構(gòu)8.1 理解異常8.6 異常處理中的析構(gòu)函數(shù)8.7 異常類與標(biāo)準(zhǔn)異常處理8.8 assert斷言大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.1 理解異常第第8章章 異常處理異常處理 程序中可能出現(xiàn)的錯(cuò)誤可以分為兩大類:語(yǔ)法錯(cuò)誤語(yǔ)法錯(cuò)誤和運(yùn)行錯(cuò)誤運(yùn)行錯(cuò)誤。v語(yǔ)法錯(cuò)誤編譯錯(cuò)誤編譯錯(cuò)誤v運(yùn)行錯(cuò)誤運(yùn)行異常運(yùn)行異常,簡(jiǎn)稱異常異常(Excep
2、tion)異常具有以下的一些特點(diǎn): 1偶然性,程序運(yùn)行中,異常并不總是會(huì)發(fā)生的。 2可預(yù)見性,異常的存在和出現(xiàn)是可以預(yù)見的。 3嚴(yán)重性,一旦異常發(fā)生,程序可能終止,或者運(yùn)行的結(jié)果不可預(yù)知。 第第8章章 異常處理異常處理v運(yùn)行時(shí)錯(cuò)誤的處理方法運(yùn)行時(shí)錯(cuò)誤的處理方法 出錯(cuò)時(shí)終止程序出錯(cuò)時(shí)終止程序 用函數(shù)返回值作為錯(cuò)誤標(biāo)志用函數(shù)返回值作為錯(cuò)誤標(biāo)志 異常處理機(jī)制異常處理機(jī)制 導(dǎo)致出錯(cuò)的代碼與處理錯(cuò)誤的代碼完全隔離導(dǎo)致出錯(cuò)的代碼與處理錯(cuò)誤的代碼完全隔離 8.1 理解異常if (錯(cuò)誤) abort();else 執(zhí)行正常邏輯int function() if (wrong) return 1; else 執(zhí)
3、行正常邏輯; return 0; 第第8章章 異常處理異常處理v把可能出現(xiàn)異常的代碼和異常處理代碼隔離開把可能出現(xiàn)異常的代碼和異常處理代碼隔離開, ,結(jié)結(jié)構(gòu)更清晰構(gòu)更清晰. . v把內(nèi)層錯(cuò)誤的處理直接轉(zhuǎn)移到適當(dāng)?shù)耐鈱觼?lái)處理把內(nèi)層錯(cuò)誤的處理直接轉(zhuǎn)移到適當(dāng)?shù)耐鈱觼?lái)處理, ,化簡(jiǎn)了處理流程化簡(jiǎn)了處理流程. . v在出現(xiàn)異常時(shí)在出現(xiàn)異常時(shí), ,能夠獲取異常的信息能夠獲取異常的信息, ,指出異常原指出異常原因因. . 并可以給用戶優(yōu)雅的提示并可以給用戶優(yōu)雅的提示. .v可以在處理塊中嘗試錯(cuò)誤恢復(fù)可以在處理塊中嘗試錯(cuò)誤恢復(fù). .保證程序幾乎不會(huì)保證程序幾乎不會(huì)崩潰崩潰. . 大連理工大學(xué)軟件學(xué)院大連理工大
4、學(xué)軟件學(xué)院 8.1 理解異常第第8章章 異常處理異常處理try if()throw 類型類型m catch(類型類型1 參數(shù)參數(shù)1) /針對(duì)類型針對(duì)類型1的異常處理的異常處理catch(類型類型n 參數(shù)參數(shù)n) /針對(duì)類型針對(duì)類型n的異常處理的異常處理try塊塊 將那些有可能產(chǎn)生錯(cuò)誤的將那些有可能產(chǎn)生錯(cuò)誤的語(yǔ)句框定在語(yǔ)句框定在try塊中塊中catch塊塊將異常處理的語(yǔ)句放在將異常處理的語(yǔ)句放在catch塊塊中,以便異常被傳遞過(guò)來(lái)時(shí)就中,以便異常被傳遞過(guò)來(lái)時(shí)就處理它;處理它;拋擲異常拋擲異常(throw語(yǔ)句語(yǔ)句) 檢測(cè)是否產(chǎn)生異常,檢測(cè)是否產(chǎn)生異常,若是,則拋擲異常。若是,則拋擲異常。 8.2
5、異常處理的語(yǔ)法結(jié)構(gòu)try-catch結(jié)構(gòu)的說(shuō)明如下:1被檢測(cè)的語(yǔ)句或者函數(shù)的調(diào)用(可能出現(xiàn)異常的語(yǔ)句)必須放在try塊中,否則不起作用。2try塊和catch塊作為一個(gè)整體出現(xiàn),catch必須緊跟在try之后,在二者之間不能插入其他語(yǔ)句。3try與catch塊都是復(fù)合語(yǔ)句,即使塊中只有一條語(yǔ)句也不能省略掉。4一個(gè)try-catch結(jié)構(gòu)中只能有一個(gè)try塊,但卻可以有一個(gè)到多個(gè)catch塊,以便捕捉多種不同類型的異常。catch塊的異常信息類型部分指明了catch子句處理異常的種類和異常參數(shù)名稱,它與函數(shù)的形式參數(shù)是類似的,可以是某個(gè)類型的值,也可以是引用,類型可以是任何有效的數(shù)據(jù)類型,包括C+
6、的類。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理 8.2 異常處理的語(yǔ)法結(jié)構(gòu)5如果在try塊中沒(méi)有發(fā)生異常,那么跟在try塊后面的catch塊就會(huì)不會(huì)被執(zhí)行。6如果在try塊中有異常拋出,系統(tǒng)則按順序逐一檢查try塊后面的catch塊的“異常類型”,如果catch塊的異常類型與拋出的異常一致,則此catch塊捕捉到了這個(gè)異常,檢查停止,系統(tǒng)執(zhí)行此catch塊中的語(yǔ)句。7如果拋出的異常信息找不到與之匹配的catch塊,那么異常就繼續(xù)向上層函數(shù)拋出,直至被拋出到主函數(shù),系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù)terminate,使程序終止運(yùn)行。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第
7、8章章 異常處理異常處理 8.2 異常處理的語(yǔ)法結(jié)構(gòu)例例8.1 連續(xù)輸入兩個(gè)實(shí)數(shù),程序?qū)⒂?jì)算并輸出這兩個(gè)數(shù)相除的商。要注意除數(shù)不能為0。 void main()double a=0; double b=0; try cout請(qǐng)輸入兩個(gè)實(shí)數(shù)a和b:ab; if (b=0) throw b; couta/b=a/bendl;catch(double) cout除數(shù)不能為0。endl; cout完畢。endl;大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理 8.2 異常處理的語(yǔ)法結(jié)構(gòu)/檢測(cè)異常檢測(cè)異常/ 拋出異常拋出異常/ 捕獲異常捕獲異常請(qǐng)輸入兩個(gè)實(shí)數(shù):1 2a/b=0.5完
8、畢。請(qǐng)輸入兩個(gè)實(shí)數(shù):1 0除數(shù)不能為0。完畢。例例8.2 try-catch結(jié)構(gòu)與throw也可以不在同一個(gè)函數(shù)中。double divide(double a, double b)/ 相除函數(shù)if(b=0) throw b; return a/b; void main()/ 主函數(shù)double a=0; double b=0; try cout請(qǐng)輸入兩個(gè)實(shí)數(shù)a和b:ab; couta/b=divide(a,b)endl;catch(double) cout除數(shù)不能為0。endl; cout完畢。endl;大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理 8.2 異常處理的
9、語(yǔ)法結(jié)構(gòu)/檢測(cè)異常檢測(cè)異常/ 拋出異常拋出異常/ 捕獲異常捕獲異常當(dāng)有異常出現(xiàn)時(shí),divide函數(shù)本身沒(méi)有對(duì)異常進(jìn)行處理,divide的執(zhí)行終止divide函數(shù)的調(diào)用處于一個(gè)try塊中,其后捕獲double類型的catch塊剛好能與拋出異常的類型匹配,除0異常在這里被捕獲例例8.3 拋出的信息還可以被使用。拋出的信息還可以被使用。求一元二次方程式 的實(shí)根。void main()double a=0; double b=0; double c=0;try cout請(qǐng)輸入一元二次方程的系數(shù)a,b,cabc; double delta = b*b - 4*a*c; if (delta0) throw
10、 delta; if (delta=0) cout方程有唯一根 (-b/2/a)endl;else cout方程有兩個(gè)根: endl; cout(-b+sqrt(delta)/2/a) ; cout(-b-sqrt(delta)/2/a)endl; catch(double d) coutdelta=d,根據(jù)此系數(shù)方程無(wú)實(shí)根。endl; 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.3 函數(shù)嵌套調(diào)用的異常處理第第8章章 異常處理異常處理 C+異常傳導(dǎo)的機(jī)制使得異常的發(fā)生和處理不必在同一函數(shù)中,這樣底層的函數(shù)可以著重解決具體邏輯
11、問(wèn)題,上層調(diào)用者可以在適當(dāng)?shù)奈恢迷O(shè)計(jì)異常的處理。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理例例8.4 計(jì)算圓柱體體積的程序。double area(double radius) / 圓面積函數(shù)if (radius=0) throw radius;return 3.14*radius*radius; double volume(double radius,double height) / 圓柱體積函數(shù)double v = area(radius)*height;return v; void main() / 主函數(shù)double radius=0; double heig
12、ht=0; cout請(qǐng)輸入圓柱的底面半徑和高:radiusheight;try cout該圓柱的體積是volume(radius,height)endl;catch(double radius) cout輸入半徑有誤 radius=radiusendl; 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.3 函數(shù)嵌套調(diào)用的異常處理第第8章章 異常處理異常處理v異常拋出與處理過(guò)程分析程序運(yùn)行結(jié)果如下:請(qǐng)輸入圓柱的底面半徑和高:-3 9輸入半徑有誤 radius=-3第第8章章 異常處理異常處理v 為了便于閱讀程序,C+允許在聲明函數(shù)時(shí)列出可能拋出的異常類型如: double area(double
13、radius) throw(double);v 這樣該函數(shù)的使用者只看到函數(shù)的聲明就可以清楚地知道應(yīng)該注意處理異常的拋出,同樣volume的聲明可以改為double volume(double radius, double height) throw(double);v 如果在area函數(shù)中除了double類型的異常還會(huì)拋出int類型的異常,可以將area函數(shù)的聲明寫為如下方式double area(double radius) throw(double,int); 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.4 函數(shù)聲明中異常的指定第第8章章 異常處理異常處理v在例8.4中,盡管main的
14、catch塊可以捕捉到異常信息,但是僅從運(yùn)行的結(jié)果是無(wú)法知道異常最早是從哪里發(fā)生的。異常重拋的方法如下:catch(異常類型異常類型) throw; /把捕捉到的異常再次拋出把捕捉到的異常再次拋出 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.5 異常的重拋第第8章章 異常處理異常處理例例8.5 計(jì)算圓柱體體積的程序(修改自例8.4)。double area(double radius) throw(double) / 圓面積函數(shù)try if (radius=0) throw radius; return 3.14*radius*radius;catch(double radius) cout
15、area函數(shù)拋出異常,半徑=radiusendl; throw; / 異常重新拋出 double volume(double radius,double height)throw(double)/ 圓柱體積try double v = area(radius)*height; return v; catch(double radius) coutvolume函數(shù)拋出異常,半徑=radiusendl; throw; /異常重新拋出 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理/ 主函數(shù)int main()double radius=0;double height=0; c
16、out請(qǐng)輸入圓柱的底面半徑和高:radiusheight;trycout該圓柱的體積是volume(radius,height)endl;catch(double radius) coutmain函數(shù)拋出異常,半徑=radiusendl;return 0;大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院程序運(yùn)行結(jié)果如下:請(qǐng)輸入圓柱的底面半徑和高:-1 9area函數(shù)拋出異常,半徑=-1volume函數(shù)拋出異常,半徑=-1main函數(shù)拋出異常,半徑=-1第第8章章 異常處理異常處理v 結(jié)束函數(shù)調(diào)用時(shí),局部變量就會(huì)從棧中彈出,這個(gè)過(guò)程被稱為“退?!保⊿tack unwinding)。v 但是,如果函數(shù)執(zhí)行
17、時(shí)出現(xiàn)異常,并且只是采用簡(jiǎn)單的顯示異常信息,然后退出(exit)程序的做法,則程序的執(zhí)行就會(huì)突然中斷,結(jié)束函數(shù)調(diào)用時(shí)必須完成的退棧和對(duì)象釋放的操作也不會(huì)進(jìn)行。v C+異常處理的真正功能,還在于它具有為異常拋擲前構(gòu)造的所有局部對(duì)象自動(dòng)析構(gòu)的能力。v 異常被拋出后,從進(jìn)入try塊起到異常被拋出為止,這期間在棧上構(gòu)造的所有對(duì)象都會(huì)被自動(dòng)析構(gòu),析構(gòu)的順序與它們被構(gòu)造的順序相反。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.6 異常處理中的析構(gòu)函數(shù)第第8章章 異常處理異常處理例例8.6 異常處理中的析構(gòu)函數(shù)的調(diào)用。class Trianglepublic:Triangle(int n):num(n)co
18、ut構(gòu)造函數(shù)調(diào),num=numendl;Triangle() cout析構(gòu)函數(shù)調(diào)用,num=numendl; void set_sides(double a,double b,double c) if(a=0|b=0|c=0) throw 邊長(zhǎng)必須為正; if(a+b=c|b+c=a|c+a=b) throw 邊長(zhǎng)不滿足三角不等式; s1=a;s2=b;s3=c; cout三角形num三邊設(shè)置完畢endl;private: int num; double s1; double s2; double s3;大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.6 異常處理中的析構(gòu)函數(shù)第第8章章 異常處理
19、異常處理void test() Triangle tri1(1); Triangle tri2(2);tri1.set_sides(3,4,5); tri2.set_sides(1,4,5);void main()/主函數(shù) coutmain startendl;coutcall testendl;try test();catch(char* c) cout異常:cendl;coutmain endendl;大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院程序運(yùn)行結(jié)果如下:main startcall test構(gòu)造函數(shù)調(diào)用,num=1構(gòu)造函數(shù)調(diào)用,num=2三角形1三邊設(shè)置完畢析構(gòu)函數(shù)調(diào)用,num=2析
20、構(gòu)函數(shù)調(diào)用,num=1異常:邊長(zhǎng)需滿足三角不等式main end第第8章章 異常處理異常處理v 使用throw語(yǔ)句拋出的異常,可以是基本類型的,也可以用類對(duì)象來(lái)傳遞異常信息。v 專門用來(lái)傳遞異常的類稱為異常類(Exception Class)。異常類可以是用戶自定義的,本身與普通的類沒(méi)有不同。v 例8.7v C+中的數(shù)組沒(méi)有提供下標(biāo)越界時(shí)的訪問(wèn)控制,為了使用方便可以定義一個(gè) “數(shù)組下標(biāo)越界異常類(ArrayIndexOutOfBounds)” 專門用于描述數(shù)組下標(biāo)越界異常。每個(gè)數(shù)組下標(biāo)越界異常對(duì)象中都具有一個(gè)數(shù)據(jù)成員用于描述數(shù)組越界訪問(wèn)的具體位置,catch塊捕捉到這個(gè)異常后,可以顯示出其包含
21、的越界位置信息。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.7 異常類第第8章章 異常處理異常處理class ArrayIndexOutOfBounds /數(shù)組下標(biāo)越界異常類public:ArrayIndexOutOfBounds(int index):index(index) void show()cout“數(shù)組下標(biāo)越界異常 index=indexendl;private: int index;class MyArray / 數(shù)組類 private: int *p; int sz; /數(shù)組首地址 和數(shù)組大小 public: MyArray(int s):sz(s) p=new intsz;
22、 /構(gòu)造函數(shù) MyArray( ) delete p ; / 析構(gòu)函數(shù) int size( ) return sz; int& operator (int i) /重載運(yùn)算符 if(i=sz) throw ArrayIndexOutOfBounds(i); return pi; 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院第第8章章 異常處理異常處理void main()/ 主函數(shù)MyArray a(10); for(int i=0;i3;i+)try if(i!=1) ai=i; coutai=aiendl; else aa.size()+10=10; catch( ArrayIndex
23、OutOfBounds &a ) a.show(); 大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院程序運(yùn)行結(jié)果:a0=0數(shù)組下標(biāo)越界訪問(wèn)異常 index=20a2=2類對(duì)象來(lái)描述一個(gè)異常有這樣的優(yōu)點(diǎn),異常的類型具有專一性,一個(gè)類對(duì)應(yīng)了一種特定意義的異常,這些異常具有數(shù)據(jù)成員和函數(shù)成員,表現(xiàn)力更加豐富,使得程序的可讀性更強(qiáng)。第第8章章 異常處理異常處理C+規(guī)定,當(dāng)一個(gè)異常和catch子句參數(shù)類型符合下列條件時(shí),匹配成功:1異常類型是基本類型時(shí),catch參數(shù)類型應(yīng)是異常的類型或其引用,此時(shí)類型必須完全一致,不支持自動(dòng)類型轉(zhuǎn)換。 2異常類型是類類型時(shí),catch參數(shù)類型應(yīng)是異常對(duì)象的類型(或其
24、引用)或者其公有基類類型(或其引用)。3異常類型是類指針時(shí),catch參數(shù)類型應(yīng)為該類指針或者其公有基類指針。4當(dāng)catch參數(shù)類型為void*時(shí),異常類型可以是任何類型的指針。5如果在catch子句中沒(méi)有指定異常的類型,而使用了刪節(jié)號(hào)“”,則表示它可以捕捉任何類型的異常。這個(gè)語(yǔ)句是C+為所有不能匹配的異常提供的一個(gè)統(tǒng)一的處理方法。大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.7 異常的匹配第第8章章 異常處理異常處理v注意:異常處理與函數(shù)重載的不同 異常處理是由最先匹配的catch子句處理, 函數(shù)重載是由最佳catch子句處理, 所以異常處理中catch子句順序是很重要的。往往把較具體的異常放到前面進(jìn)行捕捉,較抽象的異常放到后面進(jìn)行捕捉,catch()子句應(yīng)放到最后。 異常匹配舉例:例8.8大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.7 異常的匹配第第8章章 異常處理異常處理C+的標(biāo)準(zhǔn)異常類的標(biāo)準(zhǔn)異常類大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件學(xué)院 8.7 標(biāo)準(zhǔn)庫(kù)異常類exceptionbad_castbad_allocruntime_errorlogic_erroroverflow_errorrange_errorunderflow_errordomain_errorout_of_rangein
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年圣誕節(jié)酒店宣傳方案范文(9篇)
- 一般施工方案
- 路燈節(jié)能改造工程規(guī)劃設(shè)計(jì)方案(參考范文)
- 跨境金融保障措施實(shí)施方案
- 精神衛(wèi)生中心建設(shè)項(xiàng)目可行性研究報(bào)告(參考模板)
- 供水管道換新改造項(xiàng)目實(shí)施方案(模板)
- 湖北經(jīng)濟(jì)學(xué)院《微機(jī)保護(hù)及其測(cè)試技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧職業(yè)學(xué)院《隨機(jī)信號(hào)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州幼兒師范高等??茖W(xué)校《新媒體編輯》2023-2024學(xué)年第二學(xué)期期末試卷
- 杭州醫(yī)學(xué)院《微機(jī)與微控制器原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年電力電子技術(shù)試題及答案
- 2025年安全生產(chǎn)考試題庫(kù)(安全知識(shí))安全教育與培訓(xùn)試題冊(cè)
- ISO 37001-2025 反賄賂管理體系要求及使用指南(中文版-雷澤佳譯-2025)
- 第18課 清朝的邊疆治理 課件 七年級(jí)歷史下冊(cè) 人教統(tǒng)編版2024版
- 砭石療法與傳統(tǒng)中醫(yī)理論的關(guān)系及發(fā)展
- 浙江臺(tái)州歷年中考語(yǔ)文文言文閱讀試題33篇(含答案與翻譯)(截至2023年)
- DBJT13-412-2022 城鎮(zhèn)垃圾填埋場(chǎng)惡臭污染控制技術(shù)標(biāo)準(zhǔn)
- 2025中醫(yī)體重管理臨床指南
- 2025貴州茅臺(tái)酒股份限公司和義興酒業(yè)分公司招聘筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2023年普通高等學(xué)校招生全國(guó)統(tǒng)一考試新課標(biāo)全國(guó)Ⅰ卷數(shù)學(xué)真題(解析版)
- 2025年中國(guó)融通集團(tuán)招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論