Show More
@@ -6,7 +6,7 b' Requires Python 2.3 or newer.' | |||
|
6 | 6 | |
|
7 | 7 | This file contains all the classes and helper functions specific to IPython. |
|
8 | 8 | |
|
9 |
$Id: iplib.py 291 |
|
|
9 | $Id: iplib.py 2919 2007-12-31 14:45:55Z vivainio $ | |
|
10 | 10 | """ |
|
11 | 11 | |
|
12 | 12 | #***************************************************************************** |
@@ -1504,32 +1504,35 b' want to merge them back into the new files.""" % locals()' | |||
|
1504 | 1504 | # Though this won't be called by syntax errors in the input line, |
|
1505 | 1505 | # there may be SyntaxError cases whith imported code. |
|
1506 | 1506 | |
|
1507 | ||
|
1508 | if exc_tuple is None: | |
|
1509 | etype, value, tb = sys.exc_info() | |
|
1510 | else: | |
|
1511 | etype, value, tb = exc_tuple | |
|
1512 | ||
|
1513 | if etype is SyntaxError: | |
|
1514 | self.showsyntaxerror(filename) | |
|
1515 | elif etype is IPython.ipapi.UsageError: | |
|
1516 | print "UsageError:", value | |
|
1517 | else: | |
|
1518 | # WARNING: these variables are somewhat deprecated and not | |
|
1519 | # necessarily safe to use in a threaded environment, but tools | |
|
1520 | # like pdb depend on their existence, so let's set them. If we | |
|
1521 | # find problems in the field, we'll need to revisit their use. | |
|
1522 | sys.last_type = etype | |
|
1523 | sys.last_value = value | |
|
1524 | sys.last_traceback = tb | |
|
1525 | ||
|
1526 | if etype in self.custom_exceptions: | |
|
1527 | self.CustomTB(etype,value,tb) | |
|
1507 | try: | |
|
1508 | if exc_tuple is None: | |
|
1509 | etype, value, tb = sys.exc_info() | |
|
1528 | 1510 | else: |
|
1529 | self.InteractiveTB(etype,value,tb,tb_offset=tb_offset) | |
|
1530 | if self.InteractiveTB.call_pdb and self.has_readline: | |
|
1531 | # pdb mucks up readline, fix it back | |
|
1532 |
|
|
|
1511 | etype, value, tb = exc_tuple | |
|
1512 | ||
|
1513 | if etype is SyntaxError: | |
|
1514 | self.showsyntaxerror(filename) | |
|
1515 | elif etype is IPython.ipapi.UsageError: | |
|
1516 | print "UsageError:", value | |
|
1517 | else: | |
|
1518 | # WARNING: these variables are somewhat deprecated and not | |
|
1519 | # necessarily safe to use in a threaded environment, but tools | |
|
1520 | # like pdb depend on their existence, so let's set them. If we | |
|
1521 | # find problems in the field, we'll need to revisit their use. | |
|
1522 | sys.last_type = etype | |
|
1523 | sys.last_value = value | |
|
1524 | sys.last_traceback = tb | |
|
1525 | ||
|
1526 | if etype in self.custom_exceptions: | |
|
1527 | self.CustomTB(etype,value,tb) | |
|
1528 | else: | |
|
1529 | self.InteractiveTB(etype,value,tb,tb_offset=tb_offset) | |
|
1530 | if self.InteractiveTB.call_pdb and self.has_readline: | |
|
1531 | # pdb mucks up readline, fix it back | |
|
1532 | self.set_completer() | |
|
1533 | except KeyboardInterrupt: | |
|
1534 | self.write("\nKeyboardInterrupt\n") | |
|
1535 | ||
|
1533 | 1536 | |
|
1534 | 1537 | |
|
1535 | 1538 | def mainloop(self,banner=None): |
General Comments 0
You need to be logged in to leave comments.
Login now