跳到主要内容
阅微漫记
返回

如何给情绪 Bug 写一个「异常捕获」机制

我以前对自己的情绪有一个非常简单的期待。

就是:

不要生气。

不要冲动。

不要焦虑。

不要因为别人的一句话,影响自己一天。

听起来很合理。

但后来我发现。

这其实是一个几乎不可能完成的任务。

因为:

人不是机器。

你不可能要求自己:

永远稳定。

永远理性。

永远正确。

更不可能要求自己:

在面对压力、冲突、误解、利益损失的时候,依然像什么事情都没有发生一样。

所以后来。

我开始重新理解:

情绪本身可能并不是 Bug。

真正的问题是:

情绪出现
    ↓
没有被识别
    ↓
直接接管系统
    ↓
立即做出反应
    ↓
发送消息
    ↓
说出重话
    ↓
做出决定
    ↓
事后后悔

真正需要 Debug 的。

可能不是:

为什么我会产生情绪?

而是:

为什么情绪一出现,就直接获得了系统的最高权限?


我后来意识到,很多错误不是在“情绪产生”的时候发生的

而是在:

情绪没有被捕获的时候。

比如:

你正在开会。

有人突然否定了你的方案。

你感到愤怒。

这本身没有问题。

问题是:

下一秒。

愤怒直接开始:

调用你的语言系统。

于是你开始反击。

开始证明。

开始攻击。

开始说一些:

平时可能根本不会说的话。

又比如。

晚上看到一个消息。

对方的语气让你非常不舒服。

你马上开始:

解释。

质问。

争论。

发送了一大段文字。

第二天早上醒来。

重新看了一遍。

突然发现:

“昨天晚上为什么要发这些?”

情绪已经过去了。

但:

消息发出去了。

关系受影响了。

结果留下来了。

这就是我越来越觉得:

情绪真正危险的地方,不是它出现,而是它直接参与了执行。


在程序里,异常不可怕

真正可怕的是:

异常没有被处理。

程序运行过程中。

出现异常。

其实很正常。

网络会超时。

接口会失败。

数据可能异常。

用户可能输入错误。

没有任何一个复杂系统能够保证:

永远不发生异常。

所以好的系统不会说:

“从今天开始,禁止出现异常。”

而是:

try:
    运行系统
except:
    捕获异常
    ↓
记录异常
    ↓
判断影响
    ↓
执行处理逻辑
    ↓
防止系统崩溃

后来我突然意识到。

人的情绪系统。

可能也是一样。

我们无法保证:

永远不会愤怒。

永远不会焦虑。

永远不会嫉妒。

永远不会冲动。

但是:

我们可以设计一个异常捕获机制。


第一步:不要试图消灭异常,先识别异常

我过去很容易犯一个错误。

就是:

情绪出现以后。

马上告诉自己:

“不要生气。”

“不要想了。”

“这有什么好在意的。”

“成年人应该成熟一点。”

结果通常是:

情绪没有消失。

只是:

被压下去了。

然后在别的地方:

重新出现。

后来我开始尝试做一件更简单的事情。

就是:

给情绪命名。

比如:

现在的我。

不是:

“这个人太过分了。”

而是:

“我现在正在生气。”

不是:

“公司太不公平了。”

而是:

“我现在感到了强烈的不公平感。”

不是:

“我完了。”

而是:

“我现在正在焦虑未来。”

这个变化看起来很小。

但其实非常重要。

因为:

没有识别:

我 = 情绪


识别以后:

我
↓
正在经历
↓
一种情绪

情绪开始从:

“我自己。”

变成:

“系统当前正在发生的一个状态。”

你不再完全:

等于它。


这可能就是情绪系统里的第一层 try-catch

当我发现自己开始出现:

愤怒。

焦虑。

委屈。

冲动。

我现在会尝试:

先不要处理事情。

先执行:

CATCH EMOTION

当前发生了什么?

↓

我产生了什么情绪?

↓

情绪强度是多少?

↓

我现在有没有立刻行动的冲动?

注意。

这里最重要的不是:

分析。

而是:

捕获。

很多时候。

只要你能够意识到:

“我现在不是在正常状态。”

你就已经获得了:

一点点控制权。


第二步:让情绪进入“隔离区”

程序发生异常以后。

不会马上:

继续执行所有逻辑。

因为你不知道:

异常会不会影响后面的系统。

情绪也是一样。

所以我后来给自己增加了一个原则:

情绪强度很高的时候,不做高影响决策。

我把它理解成:

隔离区。

比如:

你现在非常愤怒。

不要:

辞职。

不要:

提分手。

不要:

退出群聊。

不要:

给领导发长篇消息。

不要:

做重大投资决定。

不要:

在朋友圈公开表达。

因为这个时候。

真正的问题可能还没有想清楚。

但:

执行系统已经启动了。

所以:

检测到高强度情绪
        ↓
暂停高影响操作
        ↓
进入隔离区
        ↓
等待系统恢复
        ↓
重新判断

这不是:

逃避。

而是:

延迟执行。


我后来发现,很多情绪决定其实只需要“延迟”

不需要:

永远不做。

只是:

不要现在做。

比如:

准备发一段愤怒的信息。

先不要发送。

保存。

关闭。

明天再看。

准备辞职。

先不要提交。

等三天。

准备和某个人彻底决裂。

先不要宣布。

让情绪过去以后。

重新运行一次判断。

我发现:

很多昨天觉得:

“绝对不能忍。”

的事情。

第二天再看。

可能依然有问题。

但:

处理方式已经完全不同了。


第三步:区分“情绪”与“事件”

这是我现在还在训练自己的一个能力。

很多时候。

我们以为自己在处理:

事件。

实际上。

我们在处理:

情绪。

比如:

领导否定你的方案。

这是:

事件。

你感到愤怒。

这是:

情绪。

但很多时候。

我们会把两者:

合并。

于是:

他否定了我的方案
=
他不尊重我
=
公司不重视我
=
我没有价值
=
我应该离开

你会发现。

一个事件。

经过情绪加工以后。

迅速变成了一整套:

人生结论。

所以现在。

当我发现自己情绪很强烈的时候。

会尝试问:

到底发生了什么?

只写:

事实。

不要写:

判断。

例如:

事实:

会议上,
对方否定了我的方案。

判断:

他故意针对我。

推测:

他不希望我成功。

把它们分开。

你可能会发现:

真正确定的事情。

其实只有第一句。


第四步:不要在异常状态下修改核心配置

这个原则。

我觉得对成年人尤其重要。

有些决定。

影响非常大。

工作。

婚姻。

投资。

关系。

人生方向。

这些事情。

就像:

系统核心配置。

如果你的系统当前正在:

CPU 100%

Memory High

Network Error

Exception Detected

这时候。

最好不要:

修改生产环境。

情绪状态也是一样。

当你:

极度愤怒。

极度焦虑。

极度疲惫。

极度委屈。

连续失眠。

持续压力过高。

这些时候。

不要轻易修改:

人生的核心配置。

当然。

这不是说:

情绪中的判断一定错误。

有时候。

愤怒确实提醒你:

边界被侵犯了。

焦虑确实提醒你:

风险正在增加。

委屈确实提醒你:

某段关系出现了问题。

所以:

情绪可以提供信号。

但:

不要让它直接执行。


情绪不是决策者,它更像监控告警

后来。

我越来越喜欢这样理解情绪。

情绪
↓
不是命令

情绪
↓
是告警

比如:

焦虑。

可能意味着:

未来存在不确定性。

愤怒。

可能意味着:

你的边界被侵犯。

委屈。

可能意味着:

期待和现实发生冲突。

嫉妒。

可能意味着:

你看到了自己真正渴望的东西。

恐惧。

可能意味着:

系统检测到了风险。

所以问题不是:

关闭所有告警。

而是:

看到告警以后,检查系统。


第五步:建立自己的“情绪日志”

这是我最近觉得非常有价值的一件事情。

因为一次情绪。

可能只是一次事件。

但:

重复出现的情绪。

可能隐藏着:

一个系统问题。

比如:

你最近一个月。

反复因为工作愤怒。

那么:

可能不是:

某一次会议的问题。

而是:

你的工作系统长期存在:

边界问题。

又比如。

你总是在:

晚上焦虑未来。

可能不是:

某一天想太多。

而是:

你的安全感系统。

长期缺少:

确定性。

所以我开始尝试记录:

事件:

发生了什么?

情绪:

我感受到了什么?

强度:

1—10分?

触发点:

什么东西触发了我?

身体反应:

有没有出现明显变化?

第一反应:

我想做什么?

最终处理:

我最后是怎么做的?

事后复盘:

真正的问题是什么?

记录久了以后。

你会发现:

情绪也存在日志。

而日志里面。

可能隐藏着:

你的系统 Bug。


因为真正需要 Debug 的,往往不是某一次情绪

而是:

重复出现的触发模式。

比如:

有人质疑你。

你立刻愤怒。

别人比你优秀。

你开始焦虑。

别人没有及时回复消息。

你开始怀疑关系。

工作出现不确定性。

你开始想最坏的结果。

一次可能是:

偶然。

十次。

可能就是:

模式。

所以现在。

我越来越关注:

Emotion
   ↓
Event Log
   ↓
Repeated Pattern
   ↓
Trigger
   ↓
Underlying System

真正的 Debug。

从来不是:

解决一次报错。

而是:

找到为什么:

它总是在这里报错。


第六步:给高频情绪写一个“异常处理器”

如果你已经发现。

某一种情绪:

反复出现。

那么就可以提前设计:

处理逻辑。

例如。

我发现自己有时候在面对:

明显不合理的事情时。

很容易产生愤怒。

以前的流程是:

发现不合理
↓
愤怒
↓
立即反驳
↓
情绪升级
↓
沟通失控

现在。

我可以尝试:

重新写一个处理器。

发现不合理
↓
情绪出现
↓
捕获
↓
暂停表达
↓
记录事实
↓
判断问题等级
↓
选择处理方式

A:
立即处理

B:
延迟沟通

C:
暂时观察

D:
直接忽略

你会发现。

情绪没有消失。

但:

它不再拥有唯一的处理路径。


这可能是“情绪成熟”的真正含义

以前我以为:

成熟意味着:

别人骂你。

你不生气。

事情失败。

你不难过。

被误解。

你也无所谓。

现在我越来越觉得。

这不是成熟。

这可能只是:

麻木。

真正的成熟可能是:

你依然会产生情绪。

但你不再:

立刻成为情绪。

你可以:

感受到愤怒。

但不一定马上攻击。

感受到焦虑。

但不一定马上逃跑。

感受到委屈。

但不一定马上爆发。

感受到恐惧。

但不一定马上放弃。

情绪仍然存在。

只是:

执行权限被收回来了。


我给自己设计了一个简单的“情绪异常捕获机制”

现在如果让我把它写成:

一个最小版本。

大概是这样。

EMOTION TRY-CATCH

try:

正常生活
正常工作
正常决策


catch 情绪异常:

    识别:
    我现在是什么情绪?

    命名:
    愤怒?
    焦虑?
    委屈?
    恐惧?

    评分:
    情绪强度 1—10?

    判断:
    我现在是否有冲动行为?

    如果 > 7:

        禁止:
        重大决定
        激烈沟通
        公开表达

        执行:
        延迟
        离开现场
        记录
        睡一觉

    如果 < 7:

        区分:
        事实
        判断
        情绪

        重新分析问题


finally:

情绪过去以后

重新判断:

问题还存在吗?

如果存在:

正常处理。

它当然不是:

完美的。

但至少。

当系统开始出现异常的时候。

我不再完全:

毫无防护。


有时候,最好的异常处理方式只是“离开现场”

这个道理。

我越来越能理解。

当系统出现严重异常。

有时候。

最正确的操作不是:

继续处理。

而是:

停止。

离开。

散步。

洗澡。

睡觉。

运动。

暂时关闭。

这并不是:

逃避问题。

因为有些问题。

需要的不是:

更多情绪。

而是:

更稳定的系统状态。

我发现很多事情。

昨天晚上想不明白。

睡一觉以后。

可能:

依然复杂。

但已经能够:

正常思考。

所以我现在越来越相信:

不要试图在系统崩溃的时候,完成系统升级。

先:

恢复。

再:

修复。


我也开始警惕一种情况:情绪已经不是异常,而是长期运行状态

这是一个更值得注意的问题。

如果:

偶尔愤怒。

偶尔焦虑。

偶尔难过。

这些都是:

正常波动。

但如果:

长期处于:

高压。

愤怒。

疲惫。

焦虑。

麻木。

甚至:

对任何事情都失去兴趣。

那么问题可能已经不是:

一次异常。

而是:

系统长期运行在异常状态。

这个时候。

仅仅使用:

“忍一忍。”

“调整一下心态。”

可能没有用。

真正需要做的。

可能是:

重新检查:

工作负载。

生活环境。

关系边界。

休息系统。

以及:

是否需要专业支持。

因为:

有些 Bug,不能只靠自己 Debug。


最后,我开始重新理解情绪

以前我觉得。

情绪是:

理性的敌人。

现在。

我更愿意把它理解成:

系统的一部分。

它会:

报警。

提醒。

制造干扰。

有时候:

甚至误报。

但它的存在。

本身并不意味着:

系统失败。

真正的问题是:

你有没有一个机制。

在它发生的时候:

捕获它。

观察它。

判断它。

处理它。

而不是:

让它直接控制:

语言。

行为。

决定。

甚至:

人生方向。


写给未来自己的代码注释

如果让我给自己的人生系统增加一个新的异常处理模块。

我会写:

EMOTION EXCEPTION HANDLER

情绪出现
≠
系统失败

情绪出现
=
检测到一个信号


第一步:

捕获

“我现在情绪异常。”


第二步:

命名

我到底在:

愤怒?
焦虑?
恐惧?
委屈?


第三步:

隔离

暂停高影响操作。


第四步:

分离

事实
≠
判断
≠
情绪


第五步:

观察

这是一次异常?

还是重复出现的模式?


第六步:

修复

问题解决。

如果问题重复:

Debug系统。


核心原则:

允许情绪出现。

但不要让情绪直接获得执行权限。

40岁以后。

我越来越不期待自己:

永远冷静。

永远稳定。

永远正确。

因为那不是:

一个真实的人。

我更希望自己能够做到:

情绪来的时候。

知道:

“系统现在出现异常了。”

愤怒的时候。

不立刻:

发送。

焦虑的时候。

不立刻:

决定。

委屈的时候。

不立刻:

爆发。

恐惧的时候。

不立刻:

逃跑。

先:

捕获。

暂停。

观察。

然后:

等理性系统重新上线。

再处理问题。

也许成熟并不是:

你的人生再也没有情绪 Bug。

而是:

你终于开始给它们写了:

异常捕获机制。

我是语霖。

执笔为语,心落成霖。

记录一个40岁程序员重新设计人生系统的过程。

这一次。

我想 Debug 的问题是:

为什么有时候,明明知道自己不应该冲动,却还是会在几秒钟之内做出让自己后悔的事情?

也许。

问题不是:

我们的情绪太多。

而是:

过去的人生系统里。

我们从来没有为情绪异常,

设计过任何处理逻辑。

所以它一出现。

就只能:

直接接管系统。

而现在。

我想尝试做一件事情。

不再要求:

人生永远不要报错。

而是学习:

当异常发生的时候。

至少不要让它:

把整个系统带崩。

我是语霖。


分享这篇文章:

上一篇
如何做一次关系维护的「批量脚本」,而不是逐个手动处理
下一篇
如何评估一个决定的「回滚成本」