에 대한 여러 예외 문서 실제로 C# -DLL 내부의 공용 메서드에서 여러 예외를 문서화하는 방법에 대한 guidline을 검색하고 있습니다.XML - C#
예 : 그것은 그 예외를 문서화하는 올바른 방법
/// <summary>
/// This method does something
/// </summary>
/// <param name="p_Parameter1">First parameter</param>
/// <param name="p_Parameter2">Second parameter</param>
/// <param name="p_Number">A number</param>
/// <exception cref="ArgumentNullException">
/// Thrown if p_Parameter1 is null</exception>
/// <exception cref="ArgumentNullException">
/// Thrown if p_Parameter2 is null</exception>
/// <exception cref="ArgumentNullException">
/// Thrown if any element of p_Parameter2 is null</exception>
/// <exception cref="ArgumentOutOfRangeException">
/// Thrown if p_Number is below or equal 0</exception>
/// <returns>A object</returns>
public static object DoSomething(
object p_Parameter1, IList<object> p_Parameter2,
object p_Parameter3, int p_Number)
{
if(p_Parameter1 == null)
throw new ArgumentNullException(
paramName:"p_Parameter1",
message:"Parameter is needed");
if (p_Parameter2 == null)
throw new ArgumentNullException(
paramName: "p_Parameter2",
message: "Parameter is needed");
for (int i = 0; i < p_Parameter2.Count; i++)
{
if(p_Parameter2[i] == null)
throw new ArgumentNullException(
paramName: String.Format("p_Parameter2[{0}]", i),
message: "All elements have to be initialized");
}
if(p_Number < 0)
throw new ArgumentOutOfRangeException(
paramName: "p_Number",
message: "Parameter should be bigger then zero");
var returnValue = new object();
// do something where p_Parameter3 == null is allowed
return returnValue;
}
인가? 각 사례마다 하나의 예외 태그를 추가해야합니까, 아니면 null 값이 허용되지 않는 모든 매개 변수에 하나만 추가해야합니까?
/// <exception cref="ArgumentNullException">
/// Thrown if p_Parameter1, p_Parameter2
/// or any element of p_Parameter2 are null</exception>
맞아요. 예제에서는 "- 또는 -"(UnauthorizedAccessException)를 사용하는 것이 일반적이라는 것을 보여줍니다. 내 의견으로는 그룹핑은 예외의 특정 이유를 간과 할 수있다. 하지만 모두가 그렇게한다면 조수와 함께 가자.) – germanSharper