summaryrefslogtreecommitdiff
path: root/foreign/parse/crash_exception_handling.py
blob: 00129276827d8773e48baf993570d8d566efdbb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sys


def crash_exception_handling(func):
  def func_wrapper(*args):
    try:
      number_of_arguments = len(args)

      if number_of_arguments == 0:
        func()
      elif number_of_arguments == 1:
        func(args[0])
      elif number_of_arguments == 2:
        func(args[0], args[1])
      elif number_of_arguments == 3:
        func(args[0], args[1], args[2])
      elif number_of_arguments == 4:
        func(args[0], args[1], args[2], args[3])
      elif number_of_arguments == 5:
        func(args[0], args[1], args[2], args[3], args[4])
      elif number_of_arguments == 6:
        func(args[0], args[1], args[2], args[3], args[4], args[5])
      elif number_of_arguments == 7:
        func(args[0], args[1], args[2], args[3], args[4], args[5], args[6])
    except:
      sys.exit(0)
  return func_wrapper