From: Nathan Binkert Date: Mon, 19 Dec 2005 07:07:06 +0000 (-0500) Subject: Create the ProxyError Exception. Raise it when an unproxy X-Git-Tag: m5_2.0_beta1~262 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=45ecb2b69e377dfb7e2080347d560420607f18ba;p=gem5.git Create the ProxyError Exception. Raise it when an unproxy operation fails because information is wrong or not available. --HG-- extra : convert_revision : 1fd90c1291618b09752179cfa6894f1df495fffd --- diff --git a/util/stats/info.py b/util/stats/info.py index 1f9f11940..4cb55f564 100644 --- a/util/stats/info.py +++ b/util/stats/info.py @@ -27,6 +27,9 @@ from __future__ import division import operator, re, types +class ProxyError(Exception): + pass + def unproxy(proxy): if hasattr(proxy, '__unproxy__'): return proxy.__unproxy__() @@ -336,7 +339,12 @@ class AttrProxy(Proxy): self.attr = attr def __unproxy__(self): - return unproxy(getattr(unproxy(self.proxy), self.attr)) + proxy = unproxy(self.proxy) + try: + attr = getattr(proxy, self.attr) + except AttributeError, e: + raise ProxyError, e + return unproxy(attr) def __str__(self): return '%s.%s' % (self.proxy, self.attr)