本文介绍了如何用C#用户自定义异常?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好任何一个可以告诉我怎么写用户定义的异常在C#中?正如我们在Java中,我们才能在C#写?
hi can any one tell me how to write user defined exceptions in C#?As we have in Java can we write in C#?
推荐答案
这实际上是因为它是Java中都是一样的 - 延长例外
类。
It is practically the same as it is in Java - you extend the Exception
class.
在最基本的形式
public class CustomException : System.Exception
{
public CustomException()
{
}
public CustomException(string message)
: base(message)
{
}
public CustomException(string message, System.Exception innerException)
: base(message, innerException)
{
}
}
要这个,然后添加你要使用字段或属性来捕获数据。
To this, then add the data that you want to capture using either fields or properties.
出于兴趣,在回答这个问题之前,我查了自定义异常的微软设计Guildlines。 (MSDN)
Out of interest, before answering this question, I checked the Microsoft Design Guildlines on Custom Exceptions. Designing Custom Exceptions (MSDN)
- 避免深命名空间的层次结构。
- 如果可能的话,从一个派生所提供的公共基础例外,即
的ArgumentException
。 但不要ApplicationException的
派生。这不是有害的,它是在这样做没有任何意义。 。 - 使用例外后缀。
- 请例外序列化通过实施
ISerializable的
接口。显然异常必须是序列化的跨应用程序域和远程处理边界正常工作。 - 在一个私人异常状态存储安全敏感信息,添加的SecurityPermission属性,以确保只有受信任的代码可以得到的信息。
- Avoid deep namespace hierarchies.
- If possible, derive from one the provided common base exceptions, i.e.,
ArgumentException
. HOWEVER Do not derive fromApplicationException
. It is not harmful, it is no point in doing so. MSDN Blog Post on ApplicationException. - Use the "Exception" suffix.
- Make exceptions serializable by implementing the
ISerializable
interface. Apparently an exception must be serializable to work correctly across application domain and remoting boundaries. - Store security-sensitive information in a private exception state, add a SecurityPermission attribute to ensure that only trusted code can get the information.
我的高的建议你阅读的 MSDN上。
I highly recommend reading the Design Guidelines on MSDN.
这篇关于如何用C#用户自定义异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!