Share via


Visual Basic 中可截獲的錯誤

更新:2007 年 11 月

雖然 Visual Basic 中所提供的結構化例外處理 (Structured Exception Handling) 模型在開發應用程式時比較有用,不過您可能會選擇採用非結構化錯誤處理,尤其是在升級舊版應用程式時。您可以使用 On Error 陳述式 (Visual Basic),截取並回應特定的錯誤。

可截獲的錯誤

可截獲的 (Trappable) 錯誤可能會在應用程式執行時發生。此外,某些可截獲的錯誤也會在開發或編譯時期發生。您可以使用 On Error 陳述式和 Err 物件 (Visual Basic),測試並回應可截獲的錯誤。

下表將列出錯誤碼及相關的訊息。

錯誤碼

訊息

0

沒有錯誤

3

傳回內容不含 GoSub (已過時,不再使用)

5

無效的程序呼叫或引數 (Visual Basic)

6

溢位 (Visual Basic 錯誤)

溢位 (Visual Basic 執行階段錯誤)

7

記憶體不足 (Visual Basic 編譯器錯誤)

記憶體不足 (Visual Basic 執行階段錯誤)

9

陣列索引超出範圍 (Visual Basic)

10

此陣列為固定長度或暫時鎖定 (Visual Basic)

11

除數為零 (Visual Basic 執行階段錯誤)

13

型別不符 (Visual Basic)

14

超出字串空間 (Visual Basic)

16

運算式太複雜

17

無法執行所要求的作業 (Visual Basic)

18

發生使用者中斷

20

無錯繼續

28

堆疊空間不足 (Visual Basic)

35

Sub 或 Function 未定義 (Visual Basic)

47

太多 DLL 應用程式用戶端

48

載入 DLL 時發生錯誤 (Visual Basic)

49

不正確的 DLL 呼叫慣例

51

內部錯誤 (Visual Basic)

52

不正確的檔名或數目

53

找不到檔案 (Visual Basic 執行階段錯誤)

54

不正確的檔案模式

55

檔案已經開啟

57

裝置 I/O 錯誤

58

檔案已存在

59

不正確的資料錄長度

61

磁碟已滿 (Visual Basic)

62

輸入超過檔案結尾

63

不正確的資料錄數目

67

檔案太多

68

裝置無法使用

70

使用權限遭拒 (Visual Basic)

71

磁碟未就緒

74

無法以不同的磁碟重新命名

75

路徑/檔案存取錯誤

76

找不到路徑

91

未設定物件變數或 With 區塊變數

92

For 迴圈未初始化 (Visual Basic)

93

無效的模式比對字串

94

Null 的用法無效 (已過時,不再使用)

95

應用程式定義或物件定義的錯誤

96

無法接收物件的事件,因為物件已經引發所支援事件接收者最大數目的事件

97

無法在不是定義類別執行個體的物件上呼叫 friend 函式

98

屬性或方法呼叫不能包含 private 物件的參考,也不可以當做引數或傳回值

100

類別 '<classname>' 未實作 System.Collections.ICollection 介面

298

無法載入系統資源或 DLL

320

無法在指定的檔名中使用磁碟機的字母代號

321

無效的檔案格式

322

無法建立必要的暫存檔

325

資源檔中的格式無效

327

找不到具名的資料值

328

參數不合法,無法寫入陣列

335

無法存取系統登錄

336

ActiveX 元件未正確註冊

337

找不到 ActiveX 元件

338

ActiveX 元件未正確執行

360

已載入物件

361

無法載入或卸載這個物件

363

找不到指定的 ActiveX 控制項

364

已卸載物件

365

無法在這個內容中卸載

368

指定的檔案已過期

371

指定的物件無法當做 Show 的擁有人表單使用

380

無效的屬性值

381

無效的屬性陣列索引

382

在執行階段不支援 Set

383

不支援 Set (唯讀屬性)

385

須提供屬性陣列索引

387

不允許使用 Set

393

執行階段中不支援 Get

394

不支援 Get (唯寫屬性)

400

已顯示表單,無法強制顯示

402

程式碼必須先關閉最上層強制回應表單

422

找不到屬性

423

找不到屬性或方法

424

必須提供物件 (Visual Basic)

429

無法建立 ActiveX 元件

430

類別不支援 Automation 或不支援預期的介面

432

Automation 作業期間找不到檔案名稱或類別名稱 (Visual Basic)

438

物件不支援此屬性或方法 (Visual Basic)

440

Automation 錯誤

442

對型別程式庫或物件程式庫的遠端處理連接已經中斷

443

Automation 物件沒有預設值

445

物件不支援此動作 (Visual Basic)

446

物件不支援具名引數

447

物件不支援目前的地區設定 (Visual Basic)

448

找不到具名引數 (Visual Basic)

449

引數不是選擇性的 (Visual Basic)

450

引數數目錯誤或指派了無效的屬性

451

未定義屬性 let 的程序,而屬性 get 的程序並未傳回物件

452

無效的序數

453

找不到所指定的 DLL 函式

454

找不到程式碼資源

455

程式碼資源鎖定錯誤

457

此索引鍵已經和此集合的項目建立關聯性

458

變數使用在 Visual Basic 中不支援的 Automation 型別

459

物件或類別不支援事件的設定

460

剪貼簿的格式無效

461

找不到方法或資料成員

462

遠端伺服器電腦不存在或無法使用 (Visual Basic)

463

尚未在本機電腦上登錄類別

481

無效的圖片

482

印表機錯誤

735

無法將檔案儲存至 TEMP

744

找不到所要搜尋的文字

746

取代文字太長

999

出現 Stop 陳述式

32768

尚未實作功能

訊息應用程式定義或物件定義的錯誤會套用至 Visual Basic 無法辨認的錯誤程式碼。

請參閱

工作

例外處理疑難排解

概念

例外處理簡介

非結構化例外處理概觀

選擇何時使用結構化和非結構化例外處理

參考

On Error 陳述式 (Visual Basic)

Err 物件 (Visual Basic)

其他資源

Visual Basic 的結構化例外處理方式