被老闆要求用VB開發系統
偏偏我是門外漢~
程式寫的不好一天到晚都會當掉
害USER總是要重新啟動程式
聽說VB有 on error goto的功能
可避免程式中斷
請問:VB的On Error GoTo一定要寫在程序中嗎?
如果我的專案有數十個FORM
每個FORM有數十個程序
那麼~
我一定要寫死了是吧?
2005-09-30 09:38:56 · 5 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
避免程式被不可預期的錯誤所中斷,就應該使用
on error goto labelname
on error resume next
來防止。
這兩述敘使用的有效範圍為Sub或Function,例如在Sub或Function的開頭加上,則在Sub或Function結束就功能失效,或者使用on error goto 0來取消功能。
若發生的錯誤都是可忽略的,建議使用on error resume next,如此程式就不會因為不可預期的錯誤所中斷了。
如果能知道錯誤的原因,每個錯誤都有個代號,在Err物件中,可由Err.Number來取得。如果錯誤原因有很多種,可以用on error goto labelname攔截錯誤,搭配Select Case分別提示使用者該如何處理,甚至可以轉回主畫面。架構如下:
on error goto labelname
...
...
labelname:
select case err.Number
case 錯誤編號
...
case 錯誤編號
...
case else
...
end select
這樣程式就不會中斷了,甚至使用Unload和Load或Hide和Show回到主劃。參考一下!
在VB.NET中也是一樣觀念,是用
Try
Catch
...
Catch
...
Finally
...
End Try
來處理。
2005-10-01 06:13:41 · answer #1 · answered by Sean 5 · 0⤊ 0⤋
Vb On Error Goto
2016-12-18 16:21:03 · answer #2 · answered by Anonymous · 0⤊ 0⤋
蠻多人建議不要使用Goto指令的 因為容易發生問題
這讓我想起我以前一個同事 打死不使用Goto
但是在這樣的Case中看來 Goto也是免不了
因為"On Error Resume Next"這指令感覺更差
其實 這是VB6在Error Handling的一個缺憾
VB.NET偷了JAVA的 Try Catch指令後 就解決這問題了
不過追根究底還是要在程式的「容錯」結構中著手
通常比較會產生錯誤的地方在輸入的資料型別上面
寫個判斷程式擋掉不該出現的符號可以降低錯誤的發生
但是要比要完善的例外錯誤處理還是要使用VB.NET才行
2005-10-01 05:30:27 · answer #3 · answered by Ron Liao 6 · 0⤊ 0⤋
on error goto 是在你需要 debug 時用的
放在 sub 或 function 內可以讓你知道哪一個 sub or function 出了問題
當然,如果你確定寫的程式不會當機,不會有出狀況的話
那你可以不要加,沒關係...
原則上,我寫簡單程式的話,就不會去加那東西
複雜程式的話,那就一定會加的
除了 on error goto 之外,還有 on error resume next ...
2005-09-30 21:46:26 · answer #4 · answered by Anonymous · 0⤊ 0⤋
ANS:是的..........
但是
不一定所有的程序都要下這個指令
用與不用主要是要看該程序是拿來做什麼的
On Error Goto主要是在避免一些未知的錯誤還是硬體或記憶体方面的問題
我個人是都在控制硬體的時後才下...... @@
如果說出錯就要跳開的話~~那寫程式的人幹麻要那麼辛苦的Debug呢 ^^
說來說去
還是要多寫多碰程式~才會進步 ^^
On Error Goto只能說是沒法可想時才用的指令(程式寫多了...看到Goto就習慣性拒 用XD)
2005-09-30 10:07:38 · answer #5 · answered by ? 5 · 0⤊ 0⤋