jul*_*icz 5 monads haskell functional-programming exception-handling exception
我有一段代码,在列表monad中,应用了一个函数.函数可能潜在地为其参数进行非详尽的模式匹配.因此,当应用该函数时,我可能会收到"Non-exhaustive pattern matching"错误.我想将此错误转换为monadic失败(在这种情况下,为空列表).换句话说,我想得到一个类似的行为,当Some Pattern Here <- some value一个do块内部失败时会发生什么 .
问题:是否有一种有效的方法使功能应用程序安全?通过有效,我的意思是类似于使应用的功能完全匹配并明确失败.
一种选择是使用Spoon将函数从引发异常的函数转换为返回Maybe a值的函数。那么转换Nothing为[].