《C#入门到精通》学习笔记 -- 实践: 自定义异常类的实现(2013-04-18)
2013-04-18 17:51
381 查看
namespace CustomizedExceptionClass { class Program { static void Main(string[] args) { const string currentAccountId = "12345678"; try { LoginFunc(currentAccountId); } catch (UnMatchedTypeException e) { throw e; } catch(DuplicatedAccountIdExceptin e) { Console.Write(e); } } private static void LoginFunc(string account) { if(account.Length > 5) { throw new UnMatchedTypeException("AccountID can not be longer than 15 chars"); } if(account == "aaa") { throw new DuplicatedAccountIdExceptin("The account id is already exist."); } return; } } /// <summary> /// 自定义的异常类 /// </summary> internal class CustomizedExceptionClass : Exception { /// <summary> /// Initializes a new instance of the CustomizedExceptionClass class. /// </summary> public CustomizedExceptionClass() { } /// <summary> /// Initializes a new instance of the CustomizedExceptionClass class. Takes a message. /// </summary> /// <param name="message">Reason for the exception</param> public CustomizedExceptionClass(string message):base(message) { } /// <summary> /// Initializes a new instance of the CustomizedExceptionClass class. Used for chaining exceptions. /// </summary> /// <param name="message">Reason for the exception</param> /// <param name="innerException">Chained exception</param> public CustomizedExceptionClass(string message, Exception innerException) : base(message, innerException) { } /// <summary> /// Initializes a new instance of the CustomizedExceptionClass class. Used for serialization exceptions /// </summary> /// <param name="info">Serialization info</param> /// <param name="context">Streaming context</param> protected CustomizedExceptionClass( System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { } } /// <summary> /// 类型不匹配异常 /// </summary> class UnMatchedTypeException : CustomizedExceptionClass { public UnMatchedTypeException() { } public UnMatchedTypeException(string message) : base(message) { } } /// <summary> /// 用户ID重复异常 /// </summary> class DuplicatedAccountIdExceptin:CustomizedExceptionClass { public DuplicatedAccountIdExceptin() { } public DuplicatedAccountIdExceptin(string message) : base(message) { } }
相关文章推荐
- 推荐系统实践学习笔记(二):代码实现
- OAF学习笔记-16-自定义异常的抛出
- torch学习笔记3.1:实现自定义模块(lua)
- torch学习笔记3.2:实现自定义模块(cpu)
- [原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现
- OAF学习笔记-16-自定义异常的抛出
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
- iOS学习笔记-116.多线程15——NSOperationQueue和自定义NSOperation合用实现多线程
- 安卓Studio学习笔记---gradle自定义BuildConfig.DEBUG实现在调试输出Log,正式的时候不输出Log
- ios学习笔记----实现一个带滑动手势的tabBarViewController,并可自定义tabBar
- Silverlight学习笔记四:如何通过自定义ComboBox实现SelectedValue
- OAF学习笔记-16-自定义异常的抛出
- 关于SQLServer2005的学习笔记——自定义分组的实现
- MonoRail学习笔记五:定制服务实现自定义功能
- JAVA学习笔记26——异常机制2:常见异常+异常处理其余两种方法+自定义异常
- 【Swift学习笔记-《PRODUCT》读书记录-实现自定义转场动画】
- java 学习笔记--利用反射实现自定义toString()的工具类
- OAF学习笔记-16-自定义异常的抛出
- 应用统计学与R语言实现学习笔记(十四)——案例与实践
- 应用统计学与R语言实现学习笔记(十四)——案例与实践