Chicken Scheme 中的错误处理
Error handling in Chicken Scheme
我正在制作一个基本的端口扫描器。
当我连接到一个关闭的时,我正在尝试打印 "closed"
port 和 "open" 当我连接到一个开放的端口时。
现在我正在这样做:
(condition-case (tcp-connect (list-ref host 0) port)
[(exn) (print "closed")]
['nil (print "open")]))
我的打开没有正确打印(已使用 netcat 测试)。
我如何理解条件案例是它匹配错误。我正在尝试处理没有错误的情况,即连接成功。
有更好的方法吗?感觉自己多虑了
不熟悉 Chicken 我希望像这样的东西是你想要的:
(condition-case
(begin (tcp-connect (list-ref host 0) port)
(print "open"))
[(exn) (print "closed")])
也就是说,给 condition-case
的表达式是 "happy path"(就像 Java 中的 try 块)。
我正在制作一个基本的端口扫描器。 当我连接到一个关闭的时,我正在尝试打印 "closed" port 和 "open" 当我连接到一个开放的端口时。
现在我正在这样做:
(condition-case (tcp-connect (list-ref host 0) port)
[(exn) (print "closed")]
['nil (print "open")]))
我的打开没有正确打印(已使用 netcat 测试)。 我如何理解条件案例是它匹配错误。我正在尝试处理没有错误的情况,即连接成功。
有更好的方法吗?感觉自己多虑了
不熟悉 Chicken 我希望像这样的东西是你想要的:
(condition-case
(begin (tcp-connect (list-ref host 0) port)
(print "open"))
[(exn) (print "closed")])
也就是说,给 condition-case
的表达式是 "happy path"(就像 Java 中的 try 块)。