1 exit 用法的簡要總結
1.1 具體用法
- exit do ' 用在do loop 循環(huán)里
- exit for ' 用在 for next 循環(huán)里
- exit sub ' 用在sub里
- exit function ' 用在function里
- exit propperty '??
1.2 錯誤的用法
- exit '不能單獨使用
- exit if '一般并沒有必要跳出 if 吧
2 exit for 只會跳出本層循環(huán)
2.1 正常2層循環(huán)
Debug.Print '第' & m & '次' & 'j=' & j Debug.Print '第' & n & '次' & 'i=' & i & ' ';
2.2 可以看出exit 跳出的循環(huán)只是本層的循環(huán)
- 兩層for 循環(huán),,對應的 exit for 只會跳出本層
Debug.Print '第' & m & '次' & 'j=' & j Debug.Print '第' & n & '次' & 'i=' & i & ' ';
2.3 如果是exit sub 會跳出整個sub
- exit for 跳出循環(huán)
- exit sub 跳過整個過程,停止執(zhí)行這個sub
Debug.Print '第' & m & '次' & 'j=' & j Debug.Print '第' & n & '次' & 'i=' & i & ' ';
3 end 和 exit sub的差別不大,?
- end sub 只能用在最后,,并且end sub 后面不能有 有效的語句代碼
- 只有 end 可能出現(xiàn)在 代碼塊的中間
- end 和exit sub 是有差別的
- 雖然看起來,只運行1個sub的話差別不大的樣子,?
3.1 原始代碼
Debug.Print 'i*i=' & i * i Debug.Print 'hello, I am ' & 'ponymatest2'
3.2 加入exit for
Debug.Print 'i*i=' & i * i Debug.Print 'hello, I am ' & 'ponymatest2'
3.3 加入 exit sub
Debug.Print 'i*i=' & i * i Debug.Print 'hello, I am ' & 'ponymatest2'
3.4 加入end
Debug.Print 'i*i=' & i * i Debug.Print 'hello, I am ' & 'ponymatest2'
4 end 和 exit sub的真實差別
4.1 變量釋放上不一樣
- End釋放所有變量的內存,,然后退出所有sub
- 而exit sub僅僅退出當前sub ,并不釋放變量
4.2 end 會終止所有正在運行的VB程序,?
- 如果你正在運行的只有一個程序,兩個是一樣的,,如果同時運行的有兩個程序,,則
- exit sub 只退出當前程序
- end 結束所有程序的運行
4.3 end 會終止sub 和其他窗體等
- end不管關閉這個sub ,還會關閉其他東西: 窗體等
- 在含有窗體操作時特別需要注意,。
- 比如,,在窗體上有一個按鈕,如果這個按鈕執(zhí)行的程序中含有 exit sub 是退出按鈕所執(zhí)行的程序,,窗體不會關閉,。
- end 不但退出按鈕所執(zhí)行的程序,連窗體也會關掉,,所有正在運行的程序都會關掉
5 加了exit , 是否可以不需要本身的結尾了?---不能省略其他關鍵字
- 比如 for next 如果有了exit for 了 可以不需要next了嗎,? 不行
- do loop 中間有了 exit do ,顯然還是需要末尾有 loop的
- sub ... end sub 也是不能省略的
- function ... end function
For i = LBound(arr1) To UBound(arr1) For j = LBound(arr1, 2) To UBound(arr1, 2) End If '有exit for了,,是不是可以不要end if? '如果缺少這個,,會顯示next沒有for
|