none
請問 c# 有類似以前 VB6 的 erl 函數的用法嗎 RRS feed

  • 問題

  • 想請問,以前在 VB6 的時候,程式有誤或非預期當掉時,

    一般都會在 Function 的前後加一個 On Error Goto ErrP

    然後在 Function 尾 加一個 Log 記錄其  Err.Description 跟 Erl

    當程式碼有註記 行號 的時候,便能在 Log 檔裏看到錯誤的原因以及行數,

    方便除錯。

    那在 C# 裏是否也有類似的方式,雖然它有 try catch 但無法明確知道錯誤的

    所在,變成要加很多的 try catch 或 Log 才能知道一眼看不出來的 Bug 在那

    裏。

    有好方法的人,請告知,非常感謝。

    2006年8月3日 上午 03:53

解答

  • 通常在 C# 就是只能用 try/catch/finally.

    而且只有在除錯模式 (Debug Build) 中,使用 Exception.StackTrace 屬性才可以知道出錯的程式碼位置,在散佈模式 (Release Build) 會被移除掉 .

    所以你應該要做的是把資訊描述清楚些,會比較好找問題點(例如出錯的函式名稱).

    我記得在 Microsoft Enterprise Library 中有一個叫做 Exception Handling Application Block,你可以試看看 .

    2006年8月3日 上午 03:59
    版主

所有回覆

  • 通常在 C# 就是只能用 try/catch/finally.

    而且只有在除錯模式 (Debug Build) 中,使用 Exception.StackTrace 屬性才可以知道出錯的程式碼位置,在散佈模式 (Release Build) 會被移除掉 .

    所以你應該要做的是把資訊描述清楚些,會比較好找問題點(例如出錯的函式名稱).

    我記得在 Microsoft Enterprise Library 中有一個叫做 Exception Handling Application Block,你可以試看看 .

    2006年8月3日 上午 03:59
    版主
  • 感謝~~我朝這方向試試
    2006年8月3日 上午 04:01