V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jinyue524
V2EX  ›  程序员

C Sharp 语言没有类似 Golang 的 Error 类型啊?

  •  
  •   jinyue524 ·
    LimeQM · 2014 年 7 月 19 日 · 4134 次点击
    这是一个创建于 4196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近给导师写一个项目,其中需要定义非常多的错误类型。

    码字的过程中突然想到了 Golang 中的 Error 类型实在是太好用了!但是C#中单单使用 try\catch 和 if 来判断错误类型,最后手动输出错误原因什么的,如此一来代码实在太难看了。

    因为几乎两年没有用过C#了,这方面的东西有点混乱了,另外第一时间想到的“错误处理”、“异常控制”这样的关键词没有带来合适的资料。

    各位小伙伴们有什么建议没?

    P.S. 后面想移动到 .NET 节点去的,但是系统提示没有这个节点。所以...
    第 1 条附言  ·  2014 年 7 月 20 日
    突然想到了C#有接口,于是定义了一个接口,然后弄了一个数据校验的基类,最后派生了一大波具体数据的校验和错误回馈的类。

    感觉好多了,至少看起来挺规范的。
    6 条回复    2014-07-20 10:21:37 +08:00
    reusFork
        1
    reusFork  
       2014 年 7 月 19 日
    类型容易定义,问题是没有多返回值
    jinyue524
        2
    jinyue524  
    OP
       2014 年 7 月 19 日
    @reusFork 你是说C#的错误类型吗?
    daliu
        3
    daliu  
       2014 年 7 月 19 日
    封装一下Exception.然后捕获所有未处理的异常.搞定
    jinyue524
        4
    jinyue524  
    OP
       2014 年 7 月 19 日 via iPhone
    @daliu 谢了,我去看看怎么弄
    reusFork
        5
    reusFork  
       2014 年 7 月 19 日
    @jinyue524 error就是个接口,定义了Error() string方法。这个用C#的接口来定义是一样的。不想用try/catch就不要用Exception了
    zhchyu999
        6
    zhchyu999  
       2014 年 7 月 20 日
    aop
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1235 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:43 · PVG 01:43 · LAX 09:43 · JFK 12:43
    ♥ Do have faith in what you're doing.