Haskell:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีการ:
ใน Haskell การเขียนข้อความไปยัง stderr สามารถทำได้อย่างง่ายดายด้วยโมดูล System.IO ของไลบรารีพื้นฐาน ต่อไปนี้เป็นตัวอย่างพื้นฐานเพื่อแสดง:
import System.IO
main :: IO ()
main = do
hPutStrLn stderr "This is an error message."ผลลัพธ์ของโปรแกรมนี้ที่ stderr จะเป็น:
This is an error message.หากคุณกำลังทำงานในแอปพลิเคชันที่ซับซ้อนมากขึ้น หรือหากคุณต้องการควบคุมการบันทึกข้อมูล (รวมถึงข้อผิดพลาด) ได้ดียิ่งขึ้น คุณอาจเลือกใช้ไลบรารีของบุคคลที่สาม ตัวเลือกยอดนิยมคือ monad-logger ซึ่งรวมเข้ากับสไตล์การเขียนโปรแกรม Haskell แบบ mtl นี่คือสนิปเพ็ตเล็กๆ โดยใช้ monad-logger:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Logger
main :: IO ()
main = runStderrLoggingT $ do
logErrorN "This is an error message using monad-logger."เมื่อทำงาน การใช้ monad-logger จะได้ผลลัพธ์ข้อความแสดงข้อผิดพลาดเช่นกัน แต่จะมาพร้อมกับบริบทมากขึ้น เช่น ตราประทับเวลาหรือระดับของเข้าข้อความล็อก ซึ่งขึ้นอยู่กับการตั้งค่า:
[Error] This is an error message using monad-logger.ทั้งสองวิธีให้บริการเพื่อการเขียนข้อความไปที่ stderr โดยการเลือกวิธีการขึ้นอยู่กับความซับซ้อนและความต้องการของแอปพลิเคชันของคุณ