Обрабатывать конкретные исключения из пакета Python - PullRequest
0 голосов
/ 13 сентября 2018

Я бы хотел обработать следующее исключение из 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

что я делаю не так? любая помощь будет оценена.

1 Ответ

0 голосов
/ 13 сентября 2018

Глядя на реализацию , вы пропускаете точку в конце предложения:

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

Я не вижу смысла в этой проверке, потому что это всегда будет сообщение, с которым создается исключение.

...