当前位置: 代码迷 >> ASP.NET >> 关于错误处理
  详细解决方案

关于错误处理

热度:1186   发布时间:2013-02-25 00:00:00.0
关于异常处理
C# code
public static User XmlToUser(string xml)        {            XmlDocument doc = new XmlDocument();            User user = new User();            try            {                doc.LoadXml(xml);                user.IDNo = (doc.SelectSingleNode("Request/IDNo").InnerText == null) ? "" : doc.SelectSingleNode("Request/IDNo").InnerText;                user.IDType = (doc.SelectSingleNode("Request/IDType").InnerText == null) ? "" : doc.SelectSingleNode("Request/IDType").InnerText; ;                user.MarrigeStatus = (doc.SelectSingleNode("Request/MarrigeStatus").InnerText == null) ? "" : doc.SelectSingleNode("Request/MarrigeStatus").InnerText;                user.Mobile = (doc.SelectSingleNode("Request/Mobile").InnerText == null) ? "" : doc.SelectSingleNode("Request/Mobile").InnerText;                user.Name = (doc.SelectSingleNode("Request/Name").InnerText == null) ? "" : doc.SelectSingleNode("Request/Name").InnerText;                user.Sex = (doc.SelectSingleNode("Request/Sex").InnerText == null) ? "" : doc.SelectSingleNode("Request/Sex").InnerText;                user.TelephoneNo = (doc.SelectSingleNode("Request/TelephoneNo").InnerText == null) ? "" : doc.SelectSingleNode("Request/TelephoneNo").InnerText;                user.Uid = (doc.SelectSingleNode("Request/Uid").InnerText == null) ? 0 : Convert.ToInt32(doc.SelectSingleNode("Request/Uid").InnerText);                user.Zip = (doc.SelectSingleNode("Request/Zip").InnerText == null) ? "" : doc.SelectSingleNode("Request/Zip").InnerText;                user.DOB = (doc.SelectSingleNode("Request/DOB").InnerText == null) ? DateTime.Now : DateTime.Parse(doc.SelectSingleNode("Request/DOB").InnerText);                user.CreateDate = (doc.SelectSingleNode("Request/CreateDate").InnerText == null) ? DateTime.Now : DateTime.Parse(doc.SelectSingleNode("Request/CreateDate").InnerText);                user.Address = (doc.SelectSingleNode("Request/Address").InnerText == null) ? "" : doc.SelectSingleNode("Request/Address").InnerText;            }            catch            {                throw;            }            return user;        }

本人写了这么个方法,本人用throw抛出异常,然后在WebService中调用这个方法,想在WebService中处理这个异常然后将异常信息写入日志,大家教教我怎么做,本人很菜,还有想写个异常类,来集中处理自己抛出的异常,问哈大家如何写这个异常类,在这里先祝各位工作顺利

------解决方案--------------------------------------------------------
给你看看我写的异常记录吧

异常信息还是认真的记录下来的好

C# code
  catch (Exception ex)        {            Log.Write("\r\n----------------------------------------------------------------\r\n");            Log.Write("提交客户电子注册错误!" + DateTime.Now + "错误描述" + ex.ToString() + "\r\n");            Log.Write("----------------------------------------------------------------\r\n");        }
------解决方案--------------------------------------------------------
呵呵 你可以直接用log4net

web.config
XML code
<?xml version="1.0" encoding="utf-8" ?>  <configuration>   <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />   </configSections>   <log4net>    <logger name="logerror">     <level value="ERROR" />     <appender-ref ref="ErrorAppender" />    </logger>    <logger name="loginfo">     <level value="INFO" />     <appender-ref ref="InfoAppender" />    </logger>    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">     <param name="File" value="Log//LogError//" />     <param name="AppendToFile" value="true" />     <param name="MaxSizeRollBackups" value="100" />     <param name="MaxFileSize" value="10240" />     <param name="StaticLogFileName" value="false" />     <param name="DatePattern" value="yyyyMMdd".htm"" />     <param name="RollingStyle" value="Date" />     <layout type="log4net.Layout.PatternLayout">      <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p      <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />     </layout>    </appender>    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">     <param name="File" value="Log//LogInfo//" />     <param name="AppendToFile" value="true" />     <param name="MaxFileSize" value="10240" />     <param name="MaxSizeRollBackups" value="100" />     <param name="StaticLogFileName" value="false" />     <param name="DatePattern" value="yyyyMMdd".htm"" />     <param name="RollingStyle" value="Date" />     <layout type="log4net.Layout.PatternLayout">      <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p      <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />     </layout>    </appender>   </log4net>   <system.web>    <compilation defaultLanguage="c#" debug="true" />    <customErrors mode="RemoteOnly" />    <authentication mode="Windows" />    <authorization>     <allow users="*" />    </authorization>    <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"     cookieless="false" timeout="20" />    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />   </system.web>  </configuration>