- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
Bash 中的 on_error
陷阱似乎只在定义它的函数范围内起作用。例如运行这个脚本
#!/bin/bash
on_error() {
echo 'on_error'
}
f() {
false
echo 'function f'
}
g() {
trap on_error ERR
echo 'function g'
false
f
}
g
产生:
function g
on_error
function f
有没有办法在全局范围内捕获 on_error
,这样我就不必在每个函数中单独捕获它了?
最佳答案
默认情况下,ERR
陷阱不会被 shell 函数继承。
引用自 help set
:
-E If set, the ERR trap is inherited by shell functions.
-o option-name
Set the variable corresponding to option-name:
errtrace same as -E
说
set -o errtrace
在脚本的开头应使其按预期工作。
关于linux - 如何在全局范围内捕获 bash 中的 on_error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21776575/
我正在尝试使用 Boost::Spirit::qi 的 on_error 机制来找出解析失败的原因。 我在 on_error 函数处设置了一个断点,该函数正在被调用,但没有输出(nada、nothin
我创建了一个简单的 rx 运算符,它可以将字符串流转换为 json 流,并且工作正常。但是,我希望能够引发自定义异常,但我不确定如何调用订阅的 on_error 方法 运算符称为 convertStr
Bash 中的 on_error 陷阱似乎只在定义它的函数范围内起作用。例如运行这个脚本 #!/bin/bash on_error() { echo 'on_error' } f() {
有人可以解释一下 nightwatchjs 中屏幕截图生成的 on_error 和 on_failure 之间的区别吗?我不清楚下面的解释有什么区别。 来自http://nightwatchjs.or
bool EqnExprEvaluator::SetEqn(const std::string& eqnStr) { typedef std::string::const_iterator
我又遇到了灵气障碍问题。 我在一个名为 error_handler 的仿函数结构中实现了错误处理。这通过引用传递给语法构造函数(参见 Qi 的 MiniC 示例)。 然后我有on_error s 在语
我是一名优秀的程序员,十分优秀!