Posted on 2010-04-15 23:42
besterChen 閱讀(938)
評論(0) 編輯 收藏 引用 所屬分類:
英語學習 、
腳本研究
本文章將試著講述一些好的習慣,它或許可以幫助你更快更容易的找出問題的解決方案(原文: This article will try to explain some good practices, that will help you get going faster and easier find the solution when a problem occurs.)。
注冊時一定要檢查的返回值,至少在調試模式下配置腳本引擎的時候,一定要檢查返回值,(原文:Always check return values for registrations,When configuring the script engine you should always check the return values, at least in debug mode)。【當構建失敗時,幾乎所有的錯誤代碼都可以用一個像assert( r >= 0 )簡單的斷言來檢查返回值r(原文: All error codes are negative so a simple assert( r >= 0 ) where r is the returned value is sufficient to pinpoint where the configuration failed.)】。
如果一個函數在構建期間失敗了,則構建方法總是會失敗,并返回一個asINVALID_CONFIGURATION的錯誤碼。 (原文: If a function failed during the configuration, the Build method will always fail with a return code of asINVALID_CONFIGURATION.)。錯誤總是不可確定,除非你總是檢查所有函數調用的錯誤碼(原文:Unless you already verified the error codes for all the configuration calls, it will not be possible to determine what the error was)。
// 用assert檢查返回值 即簡單又不會打亂你的代碼
r = engine->RegisterGlobalFunction("void func()", asFUNCTION(func), asCALL_CDECL);
assert( r >= 0 );
在注冊引擎的時候assert()可以被安全的使用,當有一個函數失敗時,引擎被設置為構建無效的內部狀態。(原文:
assert() can safely be used with engine registrations, since the engine will set the internal state to invalid configuration if a function fails. )。當一個腳本被組建時即使在Release模式下也會失敗(原文: Even in release mode the failure is discovered when a script is built.)。
使用消息回調來接收更詳細的錯誤信息(原文:Use the message callback to receive detailed error messages)。
注冊函數的返回值,組建和編譯功能都只能告訴你什么出錯了而不是錯誤是什么(原文: The return code from the register functions, Build, and CompileFunction, can only tell you that something was wrong, not what it was.)。消息回調就是被用來確定問題之所在的(To help identify the exact problem the message callback should be used.)。腳本庫將發送消息 通過普通的文字來說明錯誤和警告的原因(原文: The script library will then send messages explaining the error or warning in clear text.)。
關于消息回調的更多信息請參考Message callback(原文: See Message callback for more information on the message callback.)
--------- besterChen
譯于 2010年4月10日星期六