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

2021-02-08 23:21:54 +08:00
 zxCoder

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

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

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

如果你想有针对性的处理异常,就在底层捕获异常。
否则各种.Net 应用框架都提供了全局异常处理的地方来处理异常,大概告诉用户出错了,出了什么错误。
kingwl
2021-02-08 23:53:09 +08:00
fiveelementgid
2021-02-09 00:01:56 +08:00
看不懂,吃瓜,一般都是 try catch
snw
2021-02-09 02:09:53 +08:00
写注释(程序员最讨厌做的事...)
docs.microsoft.com/en-us/dotnet/csharp/codedoc#exception
695975931
2021-02-09 09:07:11 +08:00
我一般都 try catch
Rwing
2021-02-09 09:11:51 +08:00
考虑看一下《代码整洁之道》的第 7 章第 3 节
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
2021-02-20 15:48:39 +08:00
部分是有的吧...
oWangSir
2021-03-04 16:15:08 +08:00
一般都会加入 try catch,如果觉得麻烦就做个全局异常处理,自己解析 Exception 获取方法名和行数。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX