Re: [概念] try catch寫法請益

作者: yasen0220 (大森)   2014-11-11 10:03:39
: 主要的問題在於黃色那段try catch,
: 在進入SetUserDataToXml,有可能會出錯,例如xml格式不對,
: 所以會有一個throw,但回到主程式時,
: 我把這個SetUserDataToXml,包在一個UserDataExist的驗證裡面,
: 邏輯上似乎沒有問題,但是直覺上這樣包起來好像怪怪的,
:
: 能給我一點建議嗎? 謝謝
:
前面砍掉不重要的
SetUserDataToXml回傳執行結果物件, ReturnObj<bool>,
ReturnObj有以下屬性, ReturnValue, ReturnMessage, ReturnData(這是true/false)
可取用exception那些屬性, 把它填入ReturnObj裡, ReturnData是你執行正確給它true,
當SetUserDataToXml執行後, 就看ReturnObj就知道是要繼續還是秀訊息給網頁
: ExamData.ExamData ed = new ExamData.ExamData(context);
: if (ed.IsUserDataExist())
: {
: try
: {
: ed.SetUserDataToXml();
: }
: catch (Exception)
: {
: response.Write(ed.ErrorCode);
: }
: }
: else
: {
: response.Write(ed.ErrorCode);
: }
:
:
: ExamData Class
: public void SetUserDataToXml()
: {
: XmlDocument doc = new XmlDocument();
: try
: {
: doc.LoadXml(UserData);
: }
: catch (Exception)
: {
: ErrorCode = "1000";
: throw;
: }
: }
:
:

Links booklink

Contact Us: admin [ a t ] ucptt.com