今天学习《函数式编程思想》5.5函数式结构 那里了解到函数式语言处理异常时,可以在不中断程序流程的情况下可以把异常进行一些处理,比如把异常处理成
- 初始版 map<string,object> 这样根据string键判断是否出现错误,若正确,放回map<string,result>。否则返回map<string,Exception>
2.进阶版 map<left,right> 当没有异常发生时,left为返回结果,right=null.。发生异常时相反
这些东西我好像在Rust语言里看到过,这个好像叫
Result<T,E>{ Ok<T>, Err<E>, }
疑问:Julia好像没有现成的结构来这样函数式处理异常,我也不知道他需不需要像Rust那样把错误分层处理。
疑问: 他的异常处理结构虽然和Java很像,try catch finally,但在catch那块判断错误类型时像JavaScript,通过isa判断错误类型。(其实我不怎么看文档,我也不知道Julia有没有推出像Python那样判断错误类型的catch语法机制)
ps:其实我平时对错误接触很少,都是在REPL打字,或是在脚本环境里打代码,然后让编译器检查有没有错误,慢慢改,所以平时不怎么用错误处理
我想我对这门语言的定位还不是很熟悉吧,大概是我的问题