由注释引起的问题
前些日子泰國的同事將更新的網頁發給我們,讓我們更新我們的網頁。但網頁一更新到我們的服務器上就要會現以下報錯。
Microsoft VBScript compilation error '800a03f6' Expected 'End' xxx.asp, line 52咋一看,以為是語法錯誤,少了一個End,根據提示找到相應文件的52行。
即上圖中的 vValid_hour=48。我們仔細檢查的If…End的配對,并沒有發現問題。最終一個同事無意地將那段泰文(亂碼)的注釋刪除,一切就OK了。
?
知道問題出現在哪里,找根源就容易多了。用Notepad++顯示不可見字符——一切盡收眼底:
原來亂碼將一個<CR>吃掉了。結果End if被作為注釋而注釋掉了。
?
Windows下<LF>只做特殊字符來處理,并不作為換行來處理。對于編譯器來講上面的代碼如下:
?
?
知道的原因,我們再回頭看看最初的報錯信息感覺也就不那么突兀和茫然了。由此我們也可以積累一條經驗:對于注釋(特別是亂碼的注釋)我們在調試的時候可以先將其刪除。不過要記住使用源代碼管理工具,需要時保證原文件可以還原。
轉載于:https://www.cnblogs.com/Jerry-Chou/archive/2010/06/14/1758146.html
總結
- 上一篇: 大数医达面试题
- 下一篇: ubuntu之路——day8.4 Ada