none
windows服務裡 throw RRS feed

  • 問題

  • 目前知道throw會擲回一個例外狀況

    下列程式碼是不是代表著,如果我呼叫functionA()沒有使用try{}catch{},就有可能會導致程式錯誤而中止?

    private void functionA(){
      try
           {
            如果這裡發生例外會跳至catch
           }
           catch
           {
            如果我再這又擲回例外 throw 
    
            }
    }



    2017年10月11日 上午 10:41

解答

  • 可以閱讀下列文章,有詳細的說明:

    http://slashlook.com/articles_20170125.html
    • 已標示為解答 StuBoo 2017年10月12日 上午 02:16
    2017年10月11日 上午 11:59
  • functionA沒有使用try{}catch{}, 而執行又發生例外, 則例外會由functionA的呼叫者處理, 如果呼叫者也沒有處理, 程式就會因發生錯誤而中止
    • 已標示為解答 StuBoo 2017年10月12日 上午 02:16
    2017年10月11日 下午 01:55
  • 除非你有做全域的例外處理,不然丟出去沒人處理就會讓整個 AppDomain 掛掉。

    有一篇文章談到 Windows Services 這方面的處理寫得還不錯,你可以參考一下
    Handle Windows Service Errors


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。



    2017年10月11日 下午 03:35
    版主

所有回覆

  • 可以閱讀下列文章,有詳細的說明:

    http://slashlook.com/articles_20170125.html
    • 已標示為解答 StuBoo 2017年10月12日 上午 02:16
    2017年10月11日 上午 11:59
  • functionA沒有使用try{}catch{}, 而執行又發生例外, 則例外會由functionA的呼叫者處理, 如果呼叫者也沒有處理, 程式就會因發生錯誤而中止
    • 已標示為解答 StuBoo 2017年10月12日 上午 02:16
    2017年10月11日 下午 01:55
  • 除非你有做全域的例外處理,不然丟出去沒人處理就會讓整個 AppDomain 掛掉。

    有一篇文章談到 Windows Services 這方面的處理寫得還不錯,你可以參考一下
    Handle Windows Service Errors


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。



    2017年10月11日 下午 03:35
    版主