Kyl*_*lle 8 c# custom-exceptions
我正在创建一个C#应用程序,并尝试在适当时利用自定义异常.我在这里和MSDN设计指南中查看了其他问题,但没有遇到任何具体的问题,我在这里想知道.
如何组织自定义例外的最佳做法是什么?
例如,我有一个类Disk抛出一个InvalidDiskException.Disk是唯一抛出此异常的类.
目前,我有异常嵌套在Disk.cs文件中,如下所示:
Disk.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OrganizingExceptionsInCSharp
{
class Disk
{
[Serializable]
public class InvalidDiskException : Exception
{
public InvalidDiskException() { }
public InvalidDiskException(string message) : base(message) { }
public InvalidDiskException(string message, Exception innerException) : base(message, innerException) { }
}
//
// Code that throws the exception.
//
}
}
Run Code Online (Sandbox Code Playgroud)
是否应该将异常定义在与磁盘相同的级别(即未嵌套在内)?该异常应该嵌套在磁盘中,但保留它自己的部分文件吗?可能还有其他更好的选择吗?如果还有其他我没有想过的考虑因素,请告诉我.
恕我直言,自定义异常应该位于它们自己的独立程序集中,原因很简单:如果您最终将它们跨进程/机器边界抛出,那么如果它们不共享一个进程,则涉及的每个进程都可能会遇到问题(因此会遇到另一个异常)对自定义异常的共同理解。
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |