You want to catch mako.exceptions.SyntaxException .
This code works for me:
@bottle.route('/hello') def hello(): try: return bottle.mako_template('hello') except mako.exceptions.SyntaxException as exx: return 'mako exception: {}\n'.format(exx)
EDIT: for your comment, here are a few pointers on how to set this globally. Install a plugin that wraps your functions in mako.exceptions.SyntaxException try block.
Something like that:
@bottle.route('/hello') def hello(): return bottle.mako_template('hello') def catch_mako_errors(callback): def wrapper(*args, **kwargs): try: return callback(*args, **kwargs) except mako.exceptions.SyntaxException as exx: return 'mako exception: {}\n'.format(exx) return wrapper bottle.install(catch_mako_errors)
source share