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

你有没有把「忍耐」当成默认的异常处理方式?

我以前很擅长忍。

工作不顺的时候,忍一忍。

遇到不合理的事情,忍一忍。

别人不理解自己的时候,忍一忍。

项目压力太大的时候,忍一忍。

觉得委屈的时候,忍一忍。

甚至有时候明明已经知道:

这件事情不对。

第一反应还是:

“算了。”

“先这样吧。”

“再坚持一下。”

“过一阵可能就好了。”

我以前把这理解成成熟。

后来做了很多年程序员,我突然发现:

这可能不是成熟。

这可能只是我的人生系统里,

配置了一个非常特殊的异常处理机制:

Exception
    ↓
忍耐
    ↓
继续运行

问题是:

忍耐并没有真正解决异常。

它只是让系统继续跑。


程序员都知道,异常处理不是“把错误吞掉”

如果一个系统出现异常。

最糟糕的代码之一就是:

try {
    doSomething();
} catch (Exception e) {
    // 什么都不做
}

错误发生了。

但是被吃掉了。

系统表面上继续运行。

监控没有报警。

日志也没有。

用户暂时也不知道。

看起来一切正常。

但实际上:

问题还在那里。

而且它很可能正在变大。

我后来发现。

我们对自己的人生,经常就是这么处理的。

工作不舒服。

忍。

关系有问题。

忍。

长期疲惫。

忍。

职业方向不对。

忍。

收入结构有风险。

忍。

对未来越来越没有信心。

还是忍。

我们甚至会给这种行为赋予一个很好听的名字:

成熟。


忍耐本身没有错

我现在并不认为:

“忍耐”是一件坏事情。

恰恰相反。

一个成年人一定需要忍耐。

很多事情都需要时间。

孩子成长需要时间。

能力积累需要时间。

事业发展需要时间。

一个项目从混乱走向稳定,也需要时间。

有些困难无法立刻解决。

这时候忍耐,是一种能力。

真正的问题是:

你忍耐的到底是什么?

以及:

你准备忍耐多久?

如果一个问题只是短期波动。

忍耐可能是合理的。

但如果一个问题已经持续存在。

而且正在不断恶化。

你依然只是告诉自己:

“再忍忍。”

那么它就不再是忍耐。

而是:

延迟处理。


最危险的,是“无限期忍耐”

我后来发现。

真正值得警惕的不是忍耐。

而是:

没有截止时间的忍耐。

比如:

“这个工作环境现在不好,先忍着。”

那什么时候结束?

不知道。

“这个问题以后再解决。”

什么时候?

不知道。

“等情况好一点。”

什么时候算好?

不知道。

“再坚持几年吧。”

几年?

不知道。

这就很像程序里的:

while (true) {
    wait();
}

没有退出条件。

也没有超时。

也没有熔断。

于是:

临时状态,慢慢变成永久状态。


我们经常把“习惯了”误认为“没问题”

这是我后来特别警惕的一件事情。

一个人刚进入一个糟糕环境的时候。

通常会有明显感觉:

不舒服。

愤怒。

委屈。

抗拒。

但时间久了。

人会适应。

于是:

“不舒服”变成了“正常”。

“不合理”变成了“公司就这样”。

“没有成长”变成了“现在稳定就行”。

“没有选择”变成了“先这样吧”。

这其实是非常危险的。

因为系统的报警器可能不是被修好了。

而是:

被关闭了。


有时候,忍耐最大的副作用,是让你失去判断力

我曾经想过一个问题:

为什么人在一个糟糕环境里待久了以后,

反而越来越难离开?

因为时间会产生一种错觉:

既然已经坚持这么久了,再坚持一下也没什么。

这就是沉没成本。

一年过去了。

两年过去了。

五年过去了。

你会开始觉得:

“我都已经坚持这么久了。”

于是继续坚持。

但过去的时间已经发生。

它不能成为未来继续投入的理由。

真正应该问的是:

如果今天从零开始,我还会选择这条路吗?

这个问题有时候很残酷。

但很有价值。


忍耐还有一个隐藏成本:机会成本

假设一个人一直忍受一份不再适合自己的工作。

表面上看:

他什么都没有损失。

工资还在。

工作还在。

生活还在继续。

但实际上。

他可能正在失去:

新的能力。

新的机会。

新的关系。

新的方向。

新的生活方式。

甚至:

重新选择的勇气。

所以忍耐并不是没有成本。

它只是:

成本不一定立即显现。


我开始区分三种“忍耐”

后来我尝试给自己做了一个简单的分类。

第一种:有价值的忍耐

我知道现在很难。

但我也知道为什么要坚持。

目标明确。

期限明确。

收益明确。

比如:

学习一个新能力。

构建一个长期项目。

陪伴孩子成长。

经营一段重要关系。

这种忍耐。

本质上是在:

为未来投资。


第二种:暂时性的忍耐

问题现在无法解决。

但我已经在准备解决方案。

比如:

当前工作还不能马上离开。

那就建立现金流缓冲。

提升可迁移能力。

积累自己的作品。

探索新的方向。

这种状态虽然也需要忍。

但它不是被动等待。

而是:

边运行,边准备切换。

这其实是完全不同的状态。


第三种:消耗性的忍耐

这是我现在最警惕的。

没有明确目标。

没有退出条件。

没有解决方案。

只是不断告诉自己:

“再忍忍。”

然后一年又一年。

这种忍耐不会让你变得更强。

只会让你越来越麻木。

它消耗的不是一天两天。

而是:

你的精力、时间和选择权。


所以我现在越来越关注一个问题

当我告诉自己:

“忍一忍。”

我会继续追问:

为什么?

为了什么?

忍多久?

忍到什么条件出现?

在这段时间里,我准备做什么?

如果情况没有改善怎么办?

如果情况继续恶化怎么办?

有没有替代方案?

如果这些问题一个都回答不上来。

那么我就会警惕:

我是不是又把“忍耐”当成默认异常处理方式了?


真正成熟的系统,应该有很多种异常处理策略

一个可靠的系统。

遇到异常不会永远只有一种处理方式。

它可能:

Retry。

Timeout。

Circuit Breaker。

Fallback。

Degrade。

Alert。

Rollback。

Escalate。

不同的异常。

使用不同的策略。

人生其实也一样。

有些事情可以:

Retry——再试一次。

有些事情需要:

Timeout——给它一个期限。

有些事情需要:

Circuit Breaker——及时停止继续消耗。

有些事情需要:

Fallback——准备替代方案。

有些事情需要:

Degrade——降低目标,先保证系统活着。

有些事情需要:

Alert——认真面对它发出的信号。

还有一些事情:

必须 Rollback——承认这个选择不适合自己。

如果人生只有一个异常处理方式:

发生问题
↓
忍耐
↓
继续

那其实不是坚强。

而是:

系统设计得太简单了。


我现在越来越相信:真正的成熟不是“什么都能忍”

以前我觉得一个厉害的人应该:

情绪稳定。

抗压能力强。

遇到问题不抱怨。

什么环境都能适应。

现在我对这件事情的理解发生了一点变化。

真正的成熟可能不是:

什么都能忍。

而是:

知道什么值得忍,什么不值得。

知道什么时候坚持。

知道什么时候调整。

知道什么时候等待。

知道什么时候离开。

知道什么时候应该解决问题。

知道什么时候应该承认:

“这个问题,不应该继续这样运行了。”


有些报警,重复出现就是答案

人生很奇怪。

同一个问题如果不断出现。

我们很容易把它理解成:

“最近运气不好。”

但如果一个问题:

连续出现。

反复出现。

换了环境还是出现。

换了项目还是出现。

换了工作还是出现。

那时候也许应该问:

是不是系统本身存在问题?

可能是边界。

可能是选择。

可能是沟通。

可能是能力。

可能是认知。

也可能是:

你一直在用忍耐,处理一个本来应该被解决的问题。


我开始给“忍耐”增加一个退出条件

这是我现在比较想提醒自己的。

以后再遇到需要忍耐的事情。

我希望不要只写:

继续坚持。

而是写:

继续坚持。

Until:

某个条件发生。

比如:

坚持学习半年。

坚持一个项目到某个阶段。

观察一个方向三个月。

给一段关系一次认真沟通的机会。

给一个工作环境一个明确的观察周期。

这时候的忍耐。

就不再是无限等待。

而是一种:

有边界的策略。


给自己做一次“忍耐审计”

最近如果我发现自己有一件事情特别想说:

“再忍忍。”

我会把它写下来。

然后问:

我到底在忍什么?

这个问题已经存在多久了?

它是在改善,还是在恶化?

忍耐的目的是什么?

有没有明确的截止条件?

如果六个月后还是这样,我怎么办?

如果一年后还是这样,我愿意接受吗?

最后还有一个最重要的问题:

如果今天重新选择一次,我还会选择继续吗?

有些问题问到这里。

答案其实已经很清楚了。


写给未来自己的代码注释

如果让我修改人生系统里的异常处理模块。

我会写:

EXCEPTION HANDLING v2.0

默认策略禁止:

Exception → 忍耐 → Continue

必须先判断:

1. 这是短期波动吗?
2. 这是值得等待的事情吗?
3. 我为什么要坚持?
4. 坚持到什么条件?
5. 有没有替代方案?
6. 问题正在改善还是恶化?

允许使用:

Retry
Timeout
Fallback
Degrade
Alert
Rollback
Escalate

忍耐不是默认值。

忍耐必须有理由,
也必须有边界。

40岁以后。

我越来越不想再把“能忍”当成自己的优点。

我更希望自己拥有另外一种能力:

识别。

识别什么值得坚持。

识别什么只是暂时困难。

识别什么需要等待。

识别什么应该改变。

也识别:

什么东西已经不值得继续消耗自己。

因为人生和程序一样。

真正可怕的异常,

不是系统突然报错。

而是:

**系统已经长期报错,

但你每一次都选择了把异常吞掉。**

最后系统表面上还在运行。

只是:

性能越来越差。

日志越来越多。

资源越来越少。

选择越来越少。

而你还在告诉自己:

“没事,再忍一忍。”

也许从今天开始。

当我再次说出这句话的时候。

应该先停下来。

问自己一句:

“我是在坚持,还是只是在逃避处理问题?”

如果是在坚持。

那就认真坚持。

如果是在等待。

那就给等待一个期限。

如果是在准备。

那就继续准备。

但如果只是因为害怕改变,

所以选择忍耐。

那么:

**这可能就是人生系统里,

真正应该被 Debug 的那个 Bug。**

我是语霖。

执笔为语,心落成霖。

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

这一次,我想 Debug 的不是某一个具体问题。

而是那个经常被我们忽略的默认配置:

遇到问题,先忍着。

也许真正的成熟,

不是让自己变得越来越能忍。

而是慢慢拥有:

重新选择异常处理方式的能力。

我们下期接着聊。


分享这篇文章:

上一篇
你的自我认知,和别人眼里的你,差了几个版本