处理来自 python 包的特定异常

Handle specific exception from python package

我想以特定方式处理来自 py_vollib/py_lets_be_rational 的以下异常。

py_lets_be_rational.exceptions.BelowIntrinsicException: The volatility is below the intrinsic value.

尝试过但没有成功:

from py_vollib.black.implied_volatility import implied_volatility as impl_vol_b
from py_lets_be_rational.exceptions import BelowIntrinsicException

try:
    call_vol = impl_vol_b(discounted_option_price, F, K, r, t, type)
except BelowIntrinsicException as e:
    if str(e) != 'The volatility is below the intrinsic value':
        raise
    else:
        call_vol = 0

我做错了什么?任何帮助将不胜感激。

查看 the implementation,您漏掉了句末的句号:

if str(e) != 'The volatility is below the intrinsic value.':

我看不出这项检查有什么意义,因为这将始终是创建异常时使用的消息。