コードが例外をキャッチしないのはなぜですか?

ZhekaKozlov
{-# LANGUAGE DeriveDataTypeable #-}

import Control.Exception
import Data.Typeable

data MyException = MyException String deriving (Show, Typeable)

instance Exception MyException

myExToString :: MyException -> String
myExToString (MyException msg) = msg

t :: ()
t = throw $ MyException "Msg"

main = catch (return t) (\e -> putStrLn $ myExToString e)

プログラムが印刷されないのはなぜ"Msg"ですか?

更新:

コードを変更しました:

io :: IO ()
io = catch (return t) (\e -> putStrLn $ myExToString e)

main = io >>= print

しかし、それでも私のコードはキャッチしませんMyExceptionか?どうして?

セバスチャン・レドル

Haskellは怠惰であり、の結果を使用するtことはないため、評価されることはなく、例外はスローされません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

例外をスローしないコードでチェック例外のキャッチが許可されているのはなぜですか?

分類Dev

`catch`がこの例外をキャッチしないのはなぜですか?

分類Dev

luaコードがエラーをスローしたときにluabind :: error例外をキャッチできないのはなぜですか?

分類Dev

発生しない例外をスローしてもキャッチできないのはなぜですか

分類Dev

発生しない例外をスローしてもキャッチできないのはなぜですか

分類Dev

非同期のキャッチがコードの起動を待たないのはなぜですか?

分類Dev

PythonがC ++で発生した例外をキャッチしないのはなぜですか?

分類Dev

PythonがC ++で発生した例外をキャッチしないのはなぜですか?

分類Dev

なぜ毎回出力が異なるのですか?最後に例外コードをキャッチしてみてください

分類Dev

Catchがエラーをキャッチしないのはなぜですか?

分類Dev

try catchブロックがpromise例外をキャッチしないのはなぜですか?

分類Dev

Spring Boot->サービス内で例外をキャッチする必要がないのはなぜですか?

分類Dev

Spring Boot->サービス内で例外をキャッチする必要がないのはなぜですか?

分類Dev

SIGSEGVのシグナルハンドラがC ++スロー例外をキャッチしないのはなぜですか?

分類Dev

包括的試行がなぜ:/例外:例外をキャッチするのに十分ではないのですか?

分類Dev

この再帰的な正規表現がコードブロック全体をキャプチャしないのはなぜですか?

分類Dev

Laravelのdestroyメソッドで例外がキャッチされないのはなぜですか?

分類Dev

キャッチされない例外があるのはなぜですか?

分類Dev

out_of_range例外がキャッチされないのはなぜですか

分類Dev

out_of_range例外がキャッチされないのはなぜですか

分類Dev

例外がキャッチされないのはなぜですか?

分類Dev

このコードが「エラー」イベントでエラーをキャッチしないのはなぜですか?

分類Dev

例外をキャッチできないのはなぜですか?

分類Dev

OOM例外をキャッチできないのはなぜですか?

分類Dev

このコードキャッチブロックが実行されないのはなぜですか?

分類Dev

コンストラクターが一方のクラスで例外をキャッチし、もう一方のクラスではキャッチしないのはなぜですか?

分類Dev

Groovyが私のinstanceofをキャッチしないのはなぜですか?

分類Dev

なぜ例外をキャッチしてもRuntimeExceptionをキャッチしないのですか?

分類Dev

私の `main()`がjunitテストの `timer`でスローされた例外をキャッチしないのはなぜですか?

Related 関連記事

  1. 1

    例外をスローしないコードでチェック例外のキャッチが許可されているのはなぜですか?

  2. 2

    `catch`がこの例外をキャッチしないのはなぜですか?

  3. 3

    luaコードがエラーをスローしたときにluabind :: error例外をキャッチできないのはなぜですか?

  4. 4

    発生しない例外をスローしてもキャッチできないのはなぜですか

  5. 5

    発生しない例外をスローしてもキャッチできないのはなぜですか

  6. 6

    非同期のキャッチがコードの起動を待たないのはなぜですか?

  7. 7

    PythonがC ++で発生した例外をキャッチしないのはなぜですか?

  8. 8

    PythonがC ++で発生した例外をキャッチしないのはなぜですか?

  9. 9

    なぜ毎回出力が異なるのですか?最後に例外コードをキャッチしてみてください

  10. 10

    Catchがエラーをキャッチしないのはなぜですか?

  11. 11

    try catchブロックがpromise例外をキャッチしないのはなぜですか?

  12. 12

    Spring Boot->サービス内で例外をキャッチする必要がないのはなぜですか?

  13. 13

    Spring Boot->サービス内で例外をキャッチする必要がないのはなぜですか?

  14. 14

    SIGSEGVのシグナルハンドラがC ++スロー例外をキャッチしないのはなぜですか?

  15. 15

    包括的試行がなぜ:/例外:例外をキャッチするのに十分ではないのですか?

  16. 16

    この再帰的な正規表現がコードブロック全体をキャプチャしないのはなぜですか?

  17. 17

    Laravelのdestroyメソッドで例外がキャッチされないのはなぜですか?

  18. 18

    キャッチされない例外があるのはなぜですか?

  19. 19

    out_of_range例外がキャッチされないのはなぜですか

  20. 20

    out_of_range例外がキャッチされないのはなぜですか

  21. 21

    例外がキャッチされないのはなぜですか?

  22. 22

    このコードが「エラー」イベントでエラーをキャッチしないのはなぜですか?

  23. 23

    例外をキャッチできないのはなぜですか?

  24. 24

    OOM例外をキャッチできないのはなぜですか?

  25. 25

    このコードキャッチブロックが実行されないのはなぜですか?

  26. 26

    コンストラクターが一方のクラスで例外をキャッチし、もう一方のクラスではキャッチしないのはなぜですか?

  27. 27

    Groovyが私のinstanceofをキャッチしないのはなぜですか?

  28. 28

    なぜ例外をキャッチしてもRuntimeExceptionをキャッチしないのですか?

  29. 29

    私の `main()`がjunitテストの `timer`でスローされた例外をキャッチしないのはなぜですか?

ホットタグ

アーカイブ