因为怕解析字符串出错所以一层一层用了不少 try_catch,有没有什么第三方库简化异常处理操作的,还是说自己为项目专门写个宏来处理呢?
比如处理字符串到Float的转换操作:
因为怕解析字符串出错所以一层一层用了不少 try_catch,有没有什么第三方库简化异常处理操作的,还是说自己为项目专门写个宏来处理呢?
比如处理字符串到Float的转换操作:
最佳实践估计还没有,可能实践的话不够多。
标准库有时会选择返回 nothing。然后就是 throw-try/catch。
我自己没试过,随手一搜
https://www.juliabloggers.com/managing-exceptions-with-resulttypes/
也可以参考下其他库
搜了下代码 JSON.jl 貌似管 error 不管 catch
try-catch怎么用可能还是更看当前的语境吧。举个例子
parse
错误的话就要把整条解析全部抛掉的话,那么就不应该在这里管它,而是加个comment说这里可能会抛ArgumentError
, 然后在外层大循环里再来处理parse
错误有非常清晰的fallback值的话(比如missing
, nothing
), 那么可以考虑在底层就把它处理好,这样的话外层大循环就会显得简单一些关于更好的实践:MikeInnes有一个实验性的库 GitHub - MikeInnes/Effects.jl: Like a kick in the monads 可以看一看,不过我也不是非常清楚里面的设计思路。