Search code examples
pythonexceptionwarnings

In Python, how does one catch warnings as if they were exceptions?


A third-party library (written in C) that I use in my python code is issuing warnings. I want to be able to use the try except syntax to properly handle these warnings. Is there a way to do this?


Solution

  • To handle warnings as errors simply use this:

    import warnings
    warnings.filterwarnings("error")
    

    After this you will be able to catch warnings same as errors, e.g. this will work:

    try:
        some_heavy_calculations()
    except RuntimeWarning:
        breakpoint()
    

    You can also reset the behaviour of warnings by running:

    warnings.resetwarnings()
    

    P.S. Added this answer because the best answer in comments contains misspelling: filterwarnigns instead of filterwarnings.