0

我一直在試圖爲模式的情況下,用戶類型無效目錄:嘗試模式匹配Unix_error(Ocaml)時出錯?

# let dir = Unix.opendir "adfalf";; 
Exception: Unix.Unix_error (Unix.ENOENT, "opendir", "adfalf"). 

我的功能如下:

let files_of_dir d = 
    try 
     let dir = Unix.opendir d in 
     ... 
    with 
     Unix_error (uerr, ucommand, dir) -> raise Not_found 

除了我不斷收到編譯錯誤:

Error: This variant pattern is expected to have type exn 
     The constructor Unix_error does not belong to type exn 

我不明白我在做什麼錯誤的模式匹配。如果有人可以幫助我,這將不勝感激!


一些其他注意事項:

我一直在使用的終端下面的命令編譯我的代碼:

ocamlbuild filename.byte 

回答

1

你需要說Unix.Unix_error,不只是Unix_error。請注意,這是您的示例會話中顯示的內容。

+0

謝謝!!!這讓我很頭疼 – 14wml