Re:Rust for Python Programmers
by mixmastamyk on Wednesday May 27, 2015 @02:32PM
(#9613410)
I can't seem to repro that, SyntaxError seems to happen before the code runs the first time. (2.7 Ubuntu)
SyntaxError can happen as a consequence of loading a module (hitting an import statement, etc). But for a simpler example, replace SyntaxError with NameError and it's still almost always a design error that you probably have no sane way to handle in an exception handler (other than to mask the problem).
Python's a very dynamic language and so of course you could come up with examples to the contrary (ones where the user input could trigger SyntaxError or NameError).
Re:Rust for Python Programmers
by techdragon on Thursday May 28, 2015 @01:54AM
(#9616273)
But the only universally good reason I know of where you should be wrapping imports in try except is 2/3 compatibility or other module/library import fallback. For these you need to be catching syntaxerror and other system errors.
Unfortunately there's no common parent to EnvironmentError/SystemError/RuntimeError/etc that excludes SyntaxError.