VB異常捕獲與處理策略題及答案_第1頁
VB異常捕獲與處理策略題及答案_第2頁
VB異常捕獲與處理策略題及答案_第3頁
VB異常捕獲與處理策略題及答案_第4頁
VB異常捕獲與處理策略題及答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

VB異常捕獲與處理策略題及答案姓名:____________________

一、單項選擇題(每題2分,共10題)

1.以下關于VB中異常處理的描述,錯誤的是:

A.異常處理是通過使用Try...Catch...Finally語句實現(xiàn)的

B.Try塊中的代碼可能會拋出異常

C.Catch塊用于捕獲和處理異常

D.Finally塊始終會執(zhí)行,無論是否發(fā)生異常

2.以下關于異常類型,不屬于VB內(nèi)置異常的是:

A.OverflowException

B.DivideByZeroException

C.NullReferenceException

D.IOException

3.以下關于Try...Catch...Finally語句的描述,正確的是:

A.Try塊中的代碼可能會拋出異常,但不一定需要捕獲

B.Catch塊可以捕獲多種類型的異常

C.Finally塊可以用來釋放資源,如關閉文件

D.如果沒有Catch塊,那么異常將不會被處理

4.以下關于異常處理的最佳實踐,錯誤的是:

A.盡量使用Try...Catch...Finally語句處理異常

B.不要在Catch塊中再次拋出異常

C.不要在Finally塊中修改程序狀態(tài)

D.不要在Catch塊中執(zhí)行復雜的邏輯操作

5.以下關于異常處理,正確的是:

A.異常處理可以提高程序的健壯性

B.異常處理可以避免程序在遇到錯誤時直接崩潰

C.異常處理可以提供錯誤信息,方便調(diào)試

D.以上都是

6.以下關于異常傳播的描述,正確的是:

A.異??梢栽诙鄠€層級的調(diào)用棧中傳播

B.異常傳播過程中,每個層級的調(diào)用者都有機會處理異常

C.如果沒有捕獲異常,異常將一直向上傳播,直到遇到Finally塊

D.以上都是

7.以下關于異常處理的代碼,正確的是:

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsDivideByZeroException

Console.WriteLine("除數(shù)為0")

EndTry

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

EndTry

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

D.以上都是

8.以下關于異常處理的代碼,錯誤的是:

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

Throw

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

D.以上都是

9.以下關于異常處理的代碼,正確的是:

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsDivideByZeroException

Console.WriteLine("除數(shù)為0")

CatchexAsException

Console.WriteLine("發(fā)生其他異常:"&ex.Message)

EndTry

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

D.以上都是

10.以下關于異常處理的代碼,錯誤的是:

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsDivideByZeroException

Console.WriteLine("除數(shù)為0")

CatchexAsException

Console.WriteLine("發(fā)生其他異常:"&ex.Message)

EndTry

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

Throw

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

D.以上都是

二、多項選擇題(每題3分,共10題)

1.在VB中,以下哪些是有效的異常處理結構?

A.Try...Catch

B.Try...Catch...Finally

C.Try...Finally

D.Catch...Finally

2.以下哪些是VB中常見的內(nèi)置異常類型?

A.ArgumentException

B.ArgumentNullException

C.InvalidOperationException

D.OutOfMemoryException

3.以下關于異常處理的原則,正確的是:

A.盡量在異常發(fā)生的地方處理異常

B.不要在Catch塊中再次拋出異常

C.不要在Finally塊中修改程序狀態(tài)

D.不要在Finally塊中執(zhí)行復雜的邏輯操作

4.以下哪些情況下,會觸發(fā)異常?

A.除數(shù)為零

B.嘗試訪問不存在的對象屬性

C.空指針引用

D.數(shù)組越界

5.在Try...Catch...Finally語句中,以下哪些說法是正確的?

A.Try塊中的代碼可能會拋出異常

B.Catch塊可以捕獲到Try塊中拋出的異常

C.Finally塊中的代碼總是被執(zhí)行,無論是否發(fā)生異常

D.如果沒有Catch塊,那么異常將不會被處理

6.以下關于異常處理,正確的做法是:

A.在Catch塊中記錄異常信息

B.在Catch塊中恢復程序狀態(tài)

C.在Finally塊中釋放資源

D.在Finally塊中執(zhí)行清理工作

7.以下關于異常傳播的描述,正確的是:

A.異常可以跨多個層級的調(diào)用棧傳播

B.異常傳播過程中,每個層級的調(diào)用者都有機會處理異常

C.如果沒有捕獲異常,異常將一直向上傳播,直到遇到Finally塊

D.異常傳播過程中,異常類型不會改變

8.以下關于異常處理的代碼,哪些是正確的?

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsDivideByZeroException

Console.WriteLine("除數(shù)為0")

CatchexAsException

Console.WriteLine("發(fā)生其他異常:"&ex.Message)

EndTry

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

Throw

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

D.以上都是

9.以下關于異常處理的代碼,哪些是錯誤的?

A.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsDivideByZeroException

Console.WriteLine("除數(shù)為0")

CatchexAsException

Console.WriteLine("發(fā)生其他異常:"&ex.Message)

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

B.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

CatchexAsException

Console.WriteLine("發(fā)生異常:"&ex.Message)

Throw

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

C.DimxAsInteger=10

Try

DimyAsInteger=0

DimzAsInteger=x/y

Finally

Console.WriteLine("無論是否發(fā)生異常,都會執(zhí)行這段代碼")

EndTry

Console.WriteLine("程序繼續(xù)執(zhí)行")

D.以上都是

10.以下關于異常處理的描述,正確的是:

A.異常處理可以提高程序的健壯性

B.異常處理可以避免程序在遇到錯誤時直接崩潰

C.異常處理可以提供錯誤信息,方便調(diào)試

D.異常處理是編程中必須掌握的基本技能

三、判斷題(每題2分,共10題)

1.在VB中,所有的異常都可以通過Try...Catch...Finally語句來處理。()

2.在Try塊中,如果發(fā)生異常,則Catch塊將不會執(zhí)行。()

3.在Catch塊中,可以再次拋出異常,以便在更高層級的調(diào)用中處理。()

4.Finally塊中的代碼總是被執(zhí)行,即使沒有發(fā)生任何異常。()

5.異常處理可以提高程序的執(zhí)行效率。()

6.在VB中,所有的異常類型都是繼承自System.Exception類。()

7.在Catch塊中,可以捕獲所有類型的異常。()

8.如果沒有Catch塊,那么異常將不會被處理,程序會直接崩潰。()

9.Try...Catch...Finally語句可以嵌套使用,以便處理更復雜的異常情況。()

10.在Finally塊中,可以修改程序狀態(tài),因為這部分代碼總是被執(zhí)行。()

四、簡答題(每題5分,共6題)

1.簡述VB中異常處理的原理和步驟。

2.解釋VB中Try...Catch...Finally語句的各個部分的作用。

3.列舉至少三種常見的VB內(nèi)置異常類型,并簡要說明它們分別表示什么錯誤情況。

4.描述在VB中如何使用異常處理來提高程序的健壯性。

5.說明在異常處理中,如何正確地釋放資源,避免資源泄露。

6.分析在異常處理中,為什么建議不要在Catch塊中再次拋出異常。

試卷答案如下

一、單項選擇題(每題2分,共10題)

1.D

解析思路:Try...Catch...Finally語句中,如果沒有Catch塊,異常將不會處理,但程序不會崩潰。

2.D

解析思路:IOException是C#中的異常類型,VB中沒有這個異常。

3.B

解析思路:Catch塊可以捕獲到Try塊中拋出的異常,但如果沒有Catch塊,異常將不會處理。

4.D

解析思路:在Catch塊中,不應該再次拋出異常,因為這會導致異常處理邏輯混亂。

5.D

解析思路:異常處理可以提高程序的健壯性、避免程序崩潰、提供錯誤信息、是編程的基本技能。

6.D

解析思路:異??梢栽诙鄠€層級的調(diào)用棧中傳播,每個層級的調(diào)用者都有機會處理異常,沒有Catch塊時異常會向上傳播。

7.B

解析思路:在Try塊中,如果發(fā)生除數(shù)為零的異常,Catch塊會捕獲這個異常并執(zhí)行相應的處理。

8.C

解析思路:在Finally塊中,無論是否發(fā)生異常,都會執(zhí)行其中的代碼,這是用于資源釋放和清理的。

9.A

解析思路:在Try塊中,如果發(fā)生除數(shù)為零的異常,第一個Catch塊會捕獲并處理;如果發(fā)生其他異常,第二個Catch塊會捕獲并處理。

10.C

解析思路:在Finally塊中,不應該修改程序狀態(tài),因為這部分代碼總是被執(zhí)行,可能會覆蓋正常執(zhí)行的結果。

二、多項選擇題(每題3分,共10題)

1.ABC

解析思路:Try...Catch、Try...Catch...Finally、Try...Finally都是VB中有效的異常處理結構。

2.ABCD

解析思路:ArgumentException、ArgumentNullException、InvalidOperationException、OutOfMemoryException都是VB中常見的內(nèi)置異常類型。

3.ABCD

解析思路:這些是異常處理的原則,包括處理異常、避免在Catch中再次拋出異常、不要在Finally中修改狀態(tài)、不要在Finally中執(zhí)行復雜邏輯。

4.ABCD

解析思路:這些情況都可能導致異常,如除數(shù)為零、訪問不存在的對象屬性、空指針引用、數(shù)組越界。

5.ABC

解析思路:Try塊中的代碼可能會拋出異常,Catch塊可以捕獲到Try塊中拋出的異常,F(xiàn)inally塊中的代碼總是被執(zhí)行。

6.ABCD

解析思路:這些都是在異常處理中正確的做法,包括記錄異常信息、恢復程序狀態(tài)、釋放資源、執(zhí)行清理工作。

7.ABCD

解析思路:這些是關于異常傳播的正確描述,包括跨層級傳播、每個層級有機會處理、沒有Catch塊時向上傳播、異常類型不會改變。

8.ABCD

解析思路:這些代碼都是正確的,展示了如何使用Try...Catch...Finally語句處理異常。

9.ABCD

解析思路:這些代碼都是錯誤的,因為它們沒有正確處理異常,或者沒有按照最佳實踐進行異常處理。

10.ABCD

解析思路:這些描述都是正確的,異常處理可以提高程序的健壯性、避免程序崩潰、提供錯誤信息、是編程的基本技能。

三、判斷題(每題2分,共10題)

1.×

解析思路:不是所有異常都可以通過Try...Catch...Finally語句處理,有些異常可能需要特殊的處理方式。

2.×

解析思路:如果Try塊中發(fā)生異常,Catch塊將執(zhí)行,處理異常。

3.√

解析思路:在Catch塊中,可以再次拋出異常,以便在更高層級的調(diào)用中處理。

4.√

解析思路:Finally塊中的代碼總是被執(zhí)行,無論是否發(fā)生異常。

5.×

解析思路:異常處理不會提高程序的執(zhí)行效率,但可以提高程序的健壯性。

6.√

解析思路:VB中的所有異常類型都是繼承自System.Exception類。

7.×

解析思路:在Catch塊中,只能捕獲到特定類型的異常,不能捕獲所有類型的異常。

8.×

解析思路:如果沒有Catch塊,異常會向上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論