lisp里的状况处理

简介: 首先lisp里面的异常处理真正的名字是状况系统condition system,下面是这个condition system的演示: 最简单的 [1]> (/ 1 0) *** - /: division by zero The following restarts are

lisp里面的异常处理采用的是condition system,下面是这个condition system的演示:



最简单的


[1]> (/ 1 0)

*** - /: division by zero
The following restarts are available:
ABORT          :R1      Abort main loop
Break 1 [2]> :R1

[3]>


这个是被零除状况,运行时发现这个状况,提示有ABORT重启可以选择,选择这个重启退出.下面有添加自定义的重启的例子.


捕捉状况并处理

[3]> (handler-case (/ 1 0) (error () "Dived by 0"))
"Dived by 0"


添加自定义启动

[4]> (restart-case (/ 1 0) (r () "Restart R") (rr () "Restart RR") )

*** - /: division by zero
The following restarts are available:
R              :R1      R
RR             :R2      RR
ABORT          :R3      Abort main loop
Break 1 [5]> :R2
"Restart RR"



这里定义了R RR这两个重启,lisp可以定义多个重启,对一种状况可以采用多种恢复方案.


状况处理选择自定义启动


Break 2 [8]> (handler-bind ((error #'(lambda (c) (invoke-restart 'rr)))) (restart-case (/ 1 0) (r () "Restart R") (rr () "Restart RR")))
"Restart RR"








目录
相关文章
|
4月前
|
监控 安全
在 Fortran 语言里,员工电脑监控软件的尝试
在数字化办公的大背景下,有效监控员工电脑对于提升工作效率和保障信息安全至关重要。Fortran语言,以其在数值计算领域的高效性和稳定性,可在开发此类监控软件时发挥独特优势。例如,利用Fortran可实现实时监测CPU使用率及网络连接状态等功能。尽管Fortran在灵活性上可能不及某些现代编程语言,但在数值计算与系统级编程方面的强大能力使其成为构建稳定可靠监控系统的有力工具。随着技术发展,Fortran有望在该领域展现出更大潜力。
36 0
|
3月前
|
Web App开发 监控 安全
用 Elixir 语言,怎么监控员工电脑更高效
在现代企业管理中,有效监控员工电脑可提升工作效率和信息安全。Elixir 语言凭借其强大功能和高效性,成为实现这一目标的可行方案。通过监控应用程序、网页浏览记录和文件操作,企业能更好地管理员工行为,但需确保监控合法、道德,保护员工权益。
42 1
|
3月前
|
监控 安全
Prolog 语言在员工电脑监控软件中的潜力
在数字化办公时代,员工电脑监控软件对企业管理至关重要,有助于提升效率与保障信息安全。Prolog 语言作为逻辑编程语言,具备强大的推理能力,可用于制定规则并自动判断员工行为是否合规,还能分析使用习惯及检测异常行为,从而提高管理效率并确保安全。随着技术进步,Prolog 在该领域的应用将愈发重要。
33 10
|
3月前
|
Rust 监控 安全
Rust 对公司网络监控软件安全性的提升
在数字化时代,公司网络监控软件的安全性至关重要。Rust 语言凭借其内存安全机制、并发安全特性和严格的类型检查,有效防止内存管理错误、数据竞争及代码注入等问题,为网络监控软件提供多维度的安全保障,助力企业构建更安全可靠的监控体系。
61 3
|
4月前
|
Rust 开发者
揭秘Rust编程:模块与包的终极对决,谁将主宰代码组织的新秩序?
【8月更文挑战第31天】在软件工程中,模块化设计能显著提升代码的可读性、可维护性和可重用性。Rust 作为现代系统编程语言,其模块和包管理机制为开发者提供了强有力的工具来组织代码。本文通过对比模块和包的概念及使用场景,探讨了 Rust 中的最佳实践。
40 2
|
4月前
|
数据采集 Rust 监控
员工监控软件结合 Rust 语言的可能性
在企业管理精细化的趋势下,员工监控软件需求日益增长。Rust 语言以其安全性、高性能与并发能力,成为开发此类软件的理想选择。透过示例代码可见,无论是数据采集、处理或是网络通信,Rust 均能确保软件运行稳定、高效且避免常见的安全漏洞。随着 Rust 生态系统的持续发展,其为构建复杂监控系统提供了强大支持。这不仅提升了软件的整体表现,也更好地满足了企业对员工管理的需求。
32 1
|
5月前
|
监控 数据安全/隐私保护
员工上网行为监控中的Clojure并发编程
这篇文章探讨了如何使用Clojure进行员工上网行为监控的并发编程。Clojure的并发工具,如atom和core.async,被用来实现实时、高效的监控。示例展示了如何使用atom管理和更新日志,以及如何通过core.async的通道进行异步处理和数据提交。监控数据自动提交到服务器,保证了数据的及时分析。Clojure的并发特性简化了代码,提高了系统的可维护性和扩展性。
53 6
|
7月前
|
程序员 Python
救命!揭秘编程语言中被低估的神器——IF语句
救命!揭秘编程语言中被低估的神器——IF语句
42 2
|
7月前
|
Rust 监控 数据安全/隐私保护
Rust语言在员工屏幕监控系统中的应用指南
员工屏幕监控系统在现代企业管理中扮演着重要角色。它们能够帮助企业监控员工的活动,确保他们的工作效率和数据安全。在这篇文章中,我们将探讨如何使用Rust语言构建一个简单而高效的员工屏幕监控系统,并提供一些代码示例以帮助你入门。
181 0
|
Rust 前端开发 安全
致所有渴望学习Rust的人的信
致所有渴望学习Rust的人的信