相关疑难解决方法(0)

是否存在表示非法对象状态的内置.NET异常?

如果我遇到非法状态,我应该抛出什么异常 - 例如,初始化方法只应在第二次调用时调用一次?我真的没有看到任何有意义的内置异常.这似乎应该在框架中 - 我不是在正确的位置戳?

.net c# exception

56
推荐指数
1
解决办法
6978
查看次数

当方法尝试使用可以为null的字段时抛出哪个异常?

我实际上正致力于框架开发,这意味着需要一个非常强大的编码方法.

我遇到一个问题,我不知道我需要抛出哪个System.Exception派生类.基本上就是这种情况,当我有一个类,其中的字段可以由构造函数初始化,并且具有使用这些字段的方法.如果用户没有初始化这些字段,我必须抛出哪个例外?(这意味着它们为空)

这是一个例子:

public class MyConnection
{
    private Uri endpointUri;

    public Uri EndpointUri
    {
        get
        {
            return this.endpointUri;
        }

        set
        {
            this.endpointUri = value;
        }
    }

    public MyConnection()
    {
    }

    public MyConnection(Uri endpointUri)
    {
        this.endpointUri = endpointUri;
    }

    public FileStream GetFile()
    {
        if (this.endpointUri != null)
        {
            // My doer methods
        }
        else
        {
            throw new TheExceptionINeedToThrow("endpointUri", ...);
        }                
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我一直在阅读有关异常处理和抛出的整个"框架设计指南"章节,并且我没有找到适合这种情况的任何解决方案.或许我误解了一些事情......

谢谢你的帮助.

编辑:我提供一个空构造函数的事实似乎有点混乱我的问题,但它是完全自愿的.在一些必须符合一系列不能在多个对象中复制的不同状态的对象中,它有时是有用的.

.net c# null exception

20
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×2

c# ×2

exception ×2

null ×1