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

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

  •  
  •   jinyue524 ·
    LimeQM · 2014-07-19 15:38:23 +08:00 · 3737 次点击
    这是一个创建于 3798 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近给导师写一个项目,其中需要定义非常多的错误类型。

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

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

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

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

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