V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxCoder
V2EX  ›  C#

c# 没有 throws,那我怎么知道调用这个函数会不会出异常,要不要加 try catch 呢

  •  
  •   zxCoder · 2021-02-08 23:21:54 +08:00 · 2347 次点击
    这是一个创建于 1375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上次在知乎上看到说没 throws 是比 java 好的一个点,不太理解

    最近写的代码多了发现了这个问题,在 c#里是怎么解决的呢?

    9 条回复    2021-03-04 16:15:08 +08:00
    forgottencoast
        1
    forgottencoast  
       2021-02-08 23:44:44 +08:00   ❤️ 3
    按照规范的话,是在调用的类库的文档中会告诉调用方它会抛出什么异常。
    但是类库提供方可能并不会完全遵守规范。
    不处理的异常会向堆栈的上方传递,一直传递到最顶层,如果还没有人捕获,程序就会崩溃。
    根据不同的程序类型,会有不同的显示。

    如果你想有针对性的处理异常,就在底层捕获异常。
    否则各种.Net 应用框架都提供了全局异常处理的地方来处理异常,大概告诉用户出错了,出了什么错误。
    kingwl
        2
    kingwl  
       2021-02-08 23:53:09 +08:00   ❤️ 4
    fiveelementgid
        3
    fiveelementgid  
       2021-02-09 00:01:56 +08:00 via Android
    看不懂,吃瓜,一般都是 try catch
    snw
        4
    snw  
       2021-02-09 02:09:53 +08:00 via Android
    写注释(程序员最讨厌做的事...)
    docs.microsoft.com/en-us/dotnet/csharp/codedoc#exception
    695975931
        5
    695975931  
       2021-02-09 09:07:11 +08:00
    我一般都 try catch
    Rwing
        6
    Rwing  
       2021-02-09 09:11:51 +08:00
    考虑看一下《代码整洁之道》的第 7 章第 3 节
    hahastudio
        7
    hahastudio  
       2021-02-09 10:06:11 +08:00
    No, because in a lot of cases, people don't care.
    and then of course they never do.
    非常真实
    VictorJing94
        8
    VictorJing94  
       2021-02-20 15:48:39 +08:00
    部分是有的吧...
    oWangSir
        9
    oWangSir  
       2021-03-04 16:15:08 +08:00
    一般都会加入 try catch,如果觉得麻烦就做个全局异常处理,自己解析 Exception 获取方法名和行数。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5386 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:13 · PVG 15:13 · LAX 23:13 · JFK 02:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.