gpt4 book ai didi

F# 尝试处理未处理的异常

转载 作者:行者123 更新时间:2023-12-04 23:04:03 25 4
gpt4 key购买 nike

在下面的代码中,我想读取一个文件并返回所有行;如果有 IO 错误,我希望程序退出并将错误消息打印到控制台。但是程序仍然遇到未处理的异常。这方面的最佳做法是什么? (我想我不需要 Some/None,因为无论如何我都希望程序在错误时退出。)谢谢。

let lines = 
try
IO.File.ReadAllLines("test.txt")
with
| ex -> failwithf " %s" ex.Message

最佳答案

您可以进行类型测试模式匹配。

let lines = 
try
IO.File.ReadAllLines("test.txt")
with
| :? System.IO.IOException as e ->
printfn " %s" e.Message
// This will terminate the program
System.Environment.Exit e.HResult
// We have to yield control or return a string array
Array.empty
| ex -> failwithf " %s" ex.Message

关于F# 尝试处理未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com