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