Я использую OpenCV cv2 для этого, и я не удовлетворен ошибками, которые он выдает. Итак, я хочу уловить ошибку, а затем выдать более подходящую ошибку, чтобы программист получил лучшее представление о том, что пошло не так:
try:
cv2.imwrite(out_fn, img_arr, [jpg_q, 100, png_c, 9])
except:
raise UnsupportedFileFormatError(out_fn)
Однако это просто выдает оба исключения:
Traceback (most recent call last):
File "/Users/admin/Documents/Studie/IN3110/assignment4/Blur/blur/funcs/blur.py", line 25, in blur_image
cv2.imwrite(out_fn, img_arr, [jpg_q, 100, png_c, 9])
cv2.error: OpenCV(4.1.1) /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/loadsave.cpp:662: error: (-2:Unspecified error) could not find a writer for the specified extension in function 'imwrite_'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/admin/Documents/Studie/IN3110/assignment4/Blur/blur/funcs/blur.py", line 27, in blur_image
raise UnsupportedFileFormatError(out_fn)
blur.errors.errors.UnsupportedFileFormatError: Unsupported file ending: "kyk.jp"
Я хочу сделать что-то вроде:
if cv2.error as e:
e.ignoreError()
throw new appropriateError()
Это мой способ проиллюстрировать что-то на полностью вымышленном языке псевдопрограммирования, но вы понимаете. Как мне это сделать? Спасибо:))