MyException
自定义Exception
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization; namespace Model
{
/// <summary>
/// This class is used to define the custom exception.
/// </summary>
[DataContract]
public class MyExceptionContainer:Exception
{
/// <summary>
/// The exception's starck message.
/// </summary>
[DataMember]
public string ErrorMessage { get; set; } /// <summary>
/// The custom informtion.
/// </summary>
[DataMember]
public string Description { get; set; } #region Constructor public MyExceptionContainer() { } public MyExceptionContainer(string errorMessage, string description)
{
this.ErrorMessage = errorMessage;
this.Description = description;
} #endregion
}
}
UserException
using System;
using System.Runtime.Serialization;
using System.Security.Permissions; namespace Constant
{
/// <summary>
/// The class is defined for const fields of login exception.
/// </summary>
[Serializable]
public class UserException:Exception,ISerializable
{
#region Fields private string message;
private Exception innerException; #endregion #region Constructors public UserException() { } public UserException(string message)
{
this.message = message;
} public UserException(string message, Exception exception)
{
this.message = message;
this.innerException = exception;
} #endregion #region Const fileds of user functions' exception. public const string UserNameIsNull = "*Username is null.";
public const string PasswordIsNull = "*Password is null.";
public const string LoginedFailed = "*Username or password is wrong.";
public const string ChangeNewPasswordIsNull = "*New password is null.";
public const string ChangeConfirmIsNull = "*Confirm is null.";
public const string TwiceEnterIsNotSame = "*New password and confirm is not same.";
public const string PasswordIsWrong = "*Old Password is wrong.";
public const string UpdatePasswordFailed = "The error is come from UpdatePasswordFailed Method in UserDal Class.";
public const string RetrieveUserByUserName = "The error is come from RetrieveUserByUserName Method in UserDal Class.";
public const string ChangePasswordSucceed = "Change password succeed.";
public const string FormatException = "The parameter error."; #endregion
}
}
DAL
public int UpdatePassword(string newPassword, string userName)
{
int influenceNumber = ; try
{
string sqlText = SqlText.UpdatePassword;
SqlParameter[] parms = new SqlParameter[] {
new SqlParameter("@password", newPassword),
new SqlParameter("@userName", userName),
}; influenceNumber = SqlHelper.ExecuteNonQuery(sqlText, parms);
}
catch (SqlException ex)
{
throw new UserException(UserException.UpdatePasswordFailed, ex);
} return influenceNumber;
}
BLL
public IList<Exam> RetrieveExamList(string userName, int order)
{
try
{
return examDal.RetrieveExamList(userName, order);
}
catch (ExamException ex)
{
log.Error(ExamException.RetrieveExamList, ex);
throw new FaultException<MyExceptionContainer>( new MyExceptionContainer() {
ErrorMessage = ex.Message,
Description = ExamException.RetrieveExamList
});
}
}
catch (FaultException<MyExceptionContainer> myException)
{
log.Error(myException.Message, myException);
}
catch (FaultException faultException)
{
log.Error(faultException.Message, faultException);
}
catch (Exception exception)
{
log.Error(exception.Message, exception);
}
MyException的更多相关文章
- http://www.myexception.cn/program/767123.html
http://www.myexception.cn/program/767123.html
- 31.3 自定义异常类 MyException
/* * 异常的分类: 运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理 编译时期异常:是Exception的子类,非RuntimeExcpe ...
- PHP验证用户登录例子-学习笔记
1.基本流程: 2.UML类图: 3.PHP代码: 3.1 index.php <?php /** * Created by PhpStorm. * User: andy * Date: 16- ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
- [干货来袭]C#6.0新特性
微软昨天发布了新的VS 2015 ..随之而来的还有很多很多东西... .NET新版本 ASP.NET新版本...等等..太多..实在没消化.. 分享一下也是昨天发布的新的C#6.0的部分新特性吧.. ...
- C# BackgroundWorker 详解
在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题.解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 札记:Java异常处理
异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...
随机推荐
- Student
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace PersonD ...
- Nodejs之WebSocket
文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...
- 二十二、android中application标签说明
<application> <applicationandroid:allowClearUserData=["true" | "false"] ...
- JavaScript之延迟加载
本文参阅http://www.appelsiini.net/projects/lazyload Javascript Lazyload延迟加载特效,有效降低HTPP连接次数,提高首屏加载时间 1.增加 ...
- JavaScript之动画2
在JavaScript动画中,我们调用setInterval函数(setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象),值得注意的是:setInterval它设置的时 ...
- 北大ACM(POJ1013-Counterfeit Dollar)
Question:http://poj.org/problem?id=1013 问题点:排除+验证. Memory: 244K Time: 16MS Language: C++ Result: Acc ...
- Struts2基本包作用详解
asm-3.3.jar作用:操作java字节码的类库包路径及主要类:未提供 asm-commons-3.3.jar作用:提供了基于事件的表现形式包路径及主要类:未提供 asm-tree-3.3.jar ...
- trigger()的event事件对象之坑
问题引入,先贴一段有问题的代码,如果你对 trigger() 这个函数了解不透彻,还真看不出这段代码错在哪.完成的功能是样式转换器,想让页面在加载后自行触发点击事件隐藏三个按钮,但是效果如图并没有隐 ...
- java虚拟机理解探索1
以下内容源于个人对<深入java虚拟机>的理解总结 基本概念: java虚拟机可以指一种抽象规范,也可以指一种具体实现,亦可以指一个java虚拟机实例. 虚拟机生命周期: 一个java虚拟 ...
- c++11:copy_n
copy_n: Copies exactly count values from the range beginning at first to the range beginning at resu ...