Question: We have a whole bunch of websites with very similar web.config files.

Can you centralise the duplicate configs in 1 config file before the root directory of each website? Or is the only option machine.config?

We are looking to centralise an assembly reference in the GAC.

Structure:

* Containing Directory
	+ Website 1 Directory
	+ Website 2 Directory
	+ Website 3 Directory
	+ Web.Config File for all above sites

Answer: 
The answer above does not apply for Functions that take arguments - for the later case, I think you would want something like this: 

```
def handleError(f):
    def handleProblems(*args, **kwargs):
        try:
            return f(*args, **kwargs)
        except Exception:
            print "Oh noes"
    return handleProblems

```

We can test it like so: 

```
@handleError
def addTwo(x, y): 
    print(x + y) 

>>> addTwo(5,5)
10
>>> addTwo(5, 's')
Oh noes 

```
If those are your actual functions it would be easy to generalize them.

You could create one general function

```
def general(bottom_num, top_num):
  num=random.random()
  try:
    if num>top_num: print 'OK'
    elif num>bottom_num: raise NameError('Too Small')
    else: raise KeyboardInterrupt
  except NameError:
    print "%s had a NameError" % sys._getframe().f_code.co_name
  except:
    print "%s had a different Error" % sys._getframe().f_code.co_name

```

this would keep your code from repeating and address the try: except: issue