From: Douglas S. de A. <ds...@un...> - 2004-12-01 18:38:19
|
Hi ! Im writing my programs with PSP. Is there a way to report a error and kill the app like the PHP die() function does ? Suppose i have this code : import MySQLdb If i dont have this module i will have the error page. I dont want to let him have the error page, i want to shoot this message: "Dear user... Calm there, this is not the end of the world. The module MySQLdb is not installed." How to do it ? PS: Dont take the user word seriously :) PS2: Dont mind if the solution is in servlet way, it will help me reach the real solution. Thanks for the help -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Winston W. <st...@ob...> - 2004-12-01 19:06:12
|
You could catch the exception and write the error message. Something like this (I haven't tested it): <% try: import MySQLdb except ImportError: self.writeln("You need MySQLdb in the PYTHONPATH or installed libraries to run this PSP page.") return %> If you want a more elaborate error handling system, you could add a method writeError() to the base class of your pages and call that, which would write out a nice HTML page with your error message. Of course for this to work, you need to arrange your pages such that the processing and error checking is done before you output any HTML. Otherwise, your partially written HTML would be mixed with the HTML from writeError(). -ww On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > Hi ! > > Im writing my programs with PSP. Is there a way to report a error and > kill the > app like the PHP die() function does ? > > Suppose i have this code : > > import MySQLdb > > If i dont have this module i will have the error page. I dont want to > let him > have the error page, i want to shoot this message: > > "Dear user... Calm there, this is not the end of the world. The module > MySQLdb > is not installed." > > How to do it ? > > PS: Dont take the user word seriously :) > PS2: Dont mind if the solution is in servlet way, it will help me > reach the > real solution. > > Thanks for the help > > -- > Douglas Soares de Andrade - UnilesteMG > dsa em unilestemg.br - Linux User: #237615 > http://douglasandrade.tk > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real > users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 19:24:21
|
Hi ! I did not work :( Im trying to see why it is not working. Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > You could catch the exception and write the error message. Something > like this (I haven't tested it): > <% > try: > import MySQLdb > except ImportError: > self.writeln("You need MySQLdb in the PYTHONPATH or installed > libraries to run this PSP page.") > return > %> > > > If you want a more elaborate error handling system, you could add a > method writeError() to the base class of your pages and call that, > which would write out a nice HTML page with your error message. Of > course for this to work, you need to arrange your pages such that the > processing and error checking is done before you output any HTML. > Otherwise, your partially written HTML would be mixed with the HTML > from writeError(). > > -ww > > On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > > Hi ! > > > > Im writing my programs with PSP. Is there a way to report a error and > > kill the > > app like the PHP die() function does ? > > > > Suppose i have this code : > > > > import MySQLdb > > > > If i dont have this module i will have the error page. I dont want to > > let him > > have the error page, i want to shoot this message: > > > > "Dear user... Calm there, this is not the end of the world. The module > > MySQLdb > > is not installed." > > > > How to do it ? > > > > PS: Dont take the user word seriously :) > > PS2: Dont mind if the solution is in servlet way, it will help me > > reach the > > real solution. > > > > Thanks for the help > > > > -- > > Douglas Soares de Andrade - UnilesteMG > > dsa em unilestemg.br - Linux User: #237615 > > http://douglasandrade.tk > > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real > > users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 19:33:01
|
Hi ! Forget my prevous mail... Your solution worked like a charm :) Thank you soooooo much. In PSP the function is like this: try: { import MySQLdbaa } except ImportError: { res.write("You need MySQLdb in the PYTHONPATH or installed libraries to run this PSP page.") return } Thank you again! Em Qua 01 Dez 2004 17:21, Douglas Soares de Andrade escreveu: > Hi ! > > I did not work :( > > Im trying to see why it is not working. > > Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > > You could catch the exception and write the error message. Something > > like this (I haven't tested it): > > <% > > try: > > import MySQLdb > > except ImportError: > > self.writeln("You need MySQLdb in the PYTHONPATH or installed > > libraries to run this PSP page.") > > return > > %> > > > > > > If you want a more elaborate error handling system, you could add a > > method writeError() to the base class of your pages and call that, > > which would write out a nice HTML page with your error message. Of > > course for this to work, you need to arrange your pages such that the > > processing and error checking is done before you output any HTML. > > Otherwise, your partially written HTML would be mixed with the HTML > > from writeError(). > > > > -ww > > > > On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > > > Hi ! > > > > > > Im writing my programs with PSP. Is there a way to report a error and > > > kill the > > > app like the PHP die() function does ? > > > > > > Suppose i have this code : > > > > > > import MySQLdb > > > > > > If i dont have this module i will have the error page. I dont want to > > > let him > > > have the error page, i want to shoot this message: > > > > > > "Dear user... Calm there, this is not the end of the world. The module > > > MySQLdb > > > is not installed." > > > > > > How to do it ? > > > > > > PS: Dont take the user word seriously :) > > > PS2: Dont mind if the solution is in servlet way, it will help me > > > reach the > > > real solution. > > > > > > Thanks for the help > > > > > > -- > > > Douglas Soares de Andrade - UnilesteMG > > > dsa em unilestemg.br - Linux User: #237615 > > > http://douglasandrade.tk > > > > > > > > > > > > ------------------------------------------------------- > > > SF email is sponsored by - The IT Product Guide > > > Read honest & candid reviews on hundreds of IT Products from real > > > users. > > > Discover which products truly live up to the hype. Start reading now. > > > http://productguide.itmanagersjournal.com/ > > > _______________________________________________ > > > Webware-discuss mailing list > > > Web...@li... > > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 19:44:20
|
Hi ! Sorry for my previous email, this solution worked well, and i the return here was the trick to 'kill' the app. Thanks for this lesson :) See ya ! Em Qua 01 Dez 2004 17:21, Douglas Soares de Andrade escreveu: > Hi ! > > I did not work :( > > Im trying to see why it is not working. > > Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > > You could catch the exception and write the error message. Something > > like this (I haven't tested it): > > <% > > try: > > import MySQLdb > > except ImportError: > > self.writeln("You need MySQLdb in the PYTHONPATH or installed > > libraries to run this PSP page.") > > return > > %> > > > > > > If you want a more elaborate error handling system, you could add a > > method writeError() to the base class of your pages and call that, > > which would write out a nice HTML page with your error message. Of > > course for this to work, you need to arrange your pages such that the > > processing and error checking is done before you output any HTML. > > Otherwise, your partially written HTML would be mixed with the HTML > > from writeError(). > > > > -ww > > > > On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > > > Hi ! > > > > > > Im writing my programs with PSP. Is there a way to report a error and > > > kill the > > > app like the PHP die() function does ? > > > > > > Suppose i have this code : > > > > > > import MySQLdb > > > > > > If i dont have this module i will have the error page. I dont want to > > > let him > > > have the error page, i want to shoot this message: > > > > > > "Dear user... Calm there, this is not the end of the world. The module > > > MySQLdb > > > is not installed." > > > > > > How to do it ? > > > > > > PS: Dont take the user word seriously :) > > > PS2: Dont mind if the solution is in servlet way, it will help me > > > reach the > > > real solution. > > > > > > Thanks for the help > > > > > > -- > > > Douglas Soares de Andrade - UnilesteMG > > > dsa em unilestemg.br - Linux User: #237615 > > > http://douglasandrade.tk > > > > > > > > > > > > ------------------------------------------------------- > > > SF email is sponsored by - The IT Product Guide > > > Read honest & candid reviews on hundreds of IT Products from real > > > users. > > > Discover which products truly live up to the hype. Start reading now. > > > http://productguide.itmanagersjournal.com/ > > > _______________________________________________ > > > Webware-discuss mailing list > > > Web...@li... > > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Ian B. <ia...@co...> - 2004-12-01 19:30:27
|
Winston Wolff wrote: > You could catch the exception and write the error message. Something > like this (I haven't tested it): > <% > try: > import MySQLdb > except ImportError: > self.writeln("You need MySQLdb in the PYTHONPATH or installed > libraries to run this PSP page.") > return > %> > > > If you want a more elaborate error handling system, you could add a > method writeError() to the base class of your pages and call that, which > would write out a nice HTML page with your error message. Of course for > this to work, you need to arrange your pages such that the processing > and error checking is done before you output any HTML. Otherwise, your > partially written HTML would be mixed with the HTML from writeError(). I'm not sure with PSP, but it might be something like: def _respond(self, trans): try: Page._respond(self, trans) except ImportError, e: self.writeln("Error; missing package.<br><b>%s</b>" % e) -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 19:34:41
|
Hi ! Since we are speaking of this, where i can get a list of all python exceptions ? See ya ! Em Qua 01 Dez 2004 19:26, Ian Bicking escreveu: > Winston Wolff wrote: > > You could catch the exception and write the error message. Something > > like this (I haven't tested it): > > <% > > try: > > import MySQLdb > > except ImportError: > > self.writeln("You need MySQLdb in the PYTHONPATH or installed > > libraries to run this PSP page.") > > return > > %> > > > > > > If you want a more elaborate error handling system, you could add a > > method writeError() to the base class of your pages and call that, which > > would write out a nice HTML page with your error message. Of course for > > this to work, you need to arrange your pages such that the processing > > and error checking is done before you output any HTML. Otherwise, your > > partially written HTML would be mixed with the HTML from writeError(). > > I'm not sure with PSP, but it might be something like: > > def _respond(self, trans): > try: > Page._respond(self, trans) > except ImportError, e: > self.writeln("Error; missing package.<br><b>%s</b>" % e) -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Ian B. <ia...@co...> - 2004-12-01 19:43:43
|
Douglas Soares de Andrade wrote: > Hi ! > > Since we are speaking of this, where i can get a list of all python > exceptions ? If you look through dir(__builtins__) you'll see a bunch of the standard ones. It's easy to create new exceptions, so there's no complete list. Exception is the superclass of all exceptions, so if you catch it you catch all exceptions. or do: >>> import pprint >>> pprint.pprint([v for v in dir(__builtins__) if v.endswith('Error')]) ['ArithmeticError', 'AssertionError', 'AttributeError', 'EOFError', 'EnvironmentError', 'FloatingPointError', 'IOError', 'ImportError', 'IndentationError', 'IndexError', 'KeyError', 'LookupError', 'MemoryError', 'NameError', 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError', 'StandardError', 'SyntaxError', 'SystemError', 'TabError', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'ValueError', 'ZeroDivisionError'] >>> help(ImportError) Help on class ImportError in module exceptions: class ImportError(StandardError) | Import can't find module, or can't find name in module. | | Method resolution order: | ImportError | StandardError | Exception | | Methods inherited from Exception: | | __getitem__(...) | | __init__(...) | | __str__(...) -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: deelan <de...@in...> - 2004-12-01 19:49:16
|
Douglas Soares de Andrade wrote: > Hi ! > > Since we are speaking of this, where i can get a list of all python > exceptions ? python's built-in exceptions live in system __builtin__ module. this is a rough list: >>> print [err for err in dir(__builtins__) if err.endswith('Error')] ['ArithmeticError', 'AssertionError', 'AttributeError', 'EOFError', 'EnvironmentError', 'FloatingPointError', 'IOError', 'ImportError', 'IndentationError', 'IndexError', 'KeyError', 'LookupError', 'MemoryError', 'NameError', 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError', 'StandardError', 'SyntaxError', 'SystemError', 'TabError', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError'] ^__^ |
From: Chris B. <Chr...@no...> - 2004-12-01 20:22:05
|
deelan wrote: > Douglas Soares de Andrade wrote: >> Since we are speaking of this, where i can get a list of all python >> exceptions ? > python's built-in exceptions live in system __builtin__ module. Or, of course, the excellent python references: http://docs.python.org/lib/module-exceptions.html -Chris -- Christopher Barker, Ph.D. Oceanographer NOAA/OR&R/HAZMAT (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no... |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 21:22:09
|
Hi ! Well, the return trick stop the application from a def block. And how to stop the application from a def block that is inside a class ? Im asking this because i put that soluction in a method on my db class and the exception occur and the aplication continue to execute code. I want to do exactly as PHP die() function, wich stop the execution of the app from anywhere it is called. Thanks in advance. See ya ! Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > You could catch the exception and write the error message. Something > like this (I haven't tested it): > <% > try: > import MySQLdb > except ImportError: > self.writeln("You need MySQLdb in the PYTHONPATH or installed > libraries to run this PSP page.") > return > %> > > > If you want a more elaborate error handling system, you could add a > method writeError() to the base class of your pages and call that, > which would write out a nice HTML page with your error message. Of > course for this to work, you need to arrange your pages such that the > processing and error checking is done before you output any HTML. > Otherwise, your partially written HTML would be mixed with the HTML > from writeError(). > > -ww > > On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > > Hi ! > > > > Im writing my programs with PSP. Is there a way to report a error and > > kill the > > app like the PHP die() function does ? > > > > Suppose i have this code : > > > > import MySQLdb > > > > If i dont have this module i will have the error page. I dont want to > > let him > > have the error page, i want to shoot this message: > > > > "Dear user... Calm there, this is not the end of the world. The module > > MySQLdb > > is not installed." > > > > How to do it ? > > > > PS: Dont take the user word seriously :) > > PS2: Dont mind if the solution is in servlet way, it will help me > > reach the > > real solution. > > > > Thanks for the help > > > > -- > > Douglas Soares de Andrade - UnilesteMG > > dsa em unilestemg.br - Linux User: #237615 > > http://douglasandrade.tk > > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real > > users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Winston W. <st...@ob...> - 2004-12-01 21:39:04
|
I'd say do it with exceptions then. You could write a die() method with raises an exception like: def die( msg ): # I'm not sure what the name of the WebwareError is. You could also subclass Exception to make your own. raise WebwareError( msg ) try: import MySQLdb except ImportError: self.die("You need MySQLdb in the PYTHONPATH or installed libraries to run this PSP page.") and then the standard webware error page will show your message instead of the ImportError message. I'm not sure this is the best way of handling errors though. -ww On Dec 1, 2004, at 2:19 PM, Douglas Soares de Andrade wrote: > Hi ! > > Well, the return trick stop the application from a def block. > > And how to stop the application from a def block that is inside a > class ? > > Im asking this because i put that soluction in a method on my db class > and the > exception occur and the aplication continue to execute code. > > I want to do exactly as PHP die() function, wich stop the execution of > the app > from anywhere it is called. > > Thanks in advance. > > See ya ! > > > Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: >> You could catch the exception and write the error message. Something >> like this (I haven't tested it): >> <% >> try: >> import MySQLdb >> except ImportError: >> self.writeln("You need MySQLdb in the PYTHONPATH or installed >> libraries to run this PSP page.") >> return >> %> >> >> >> If you want a more elaborate error handling system, you could add a >> method writeError() to the base class of your pages and call that, >> which would write out a nice HTML page with your error message. Of >> course for this to work, you need to arrange your pages such that the >> processing and error checking is done before you output any HTML. >> Otherwise, your partially written HTML would be mixed with the HTML >> from writeError(). >> >> -ww >> >> On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: >>> Hi ! >>> >>> Im writing my programs with PSP. Is there a way to report a error and >>> kill the >>> app like the PHP die() function does ? >>> >>> Suppose i have this code : >>> >>> import MySQLdb >>> >>> If i dont have this module i will have the error page. I dont want to >>> let him >>> have the error page, i want to shoot this message: >>> >>> "Dear user... Calm there, this is not the end of the world. The >>> module >>> MySQLdb >>> is not installed." >>> >>> How to do it ? >>> >>> PS: Dont take the user word seriously :) >>> PS2: Dont mind if the solution is in servlet way, it will help me >>> reach the >>> real solution. >>> >>> Thanks for the help >>> >>> -- >>> Douglas Soares de Andrade - UnilesteMG >>> dsa em unilestemg.br - Linux User: #237615 >>> http://douglasandrade.tk >>> >>> >>> >>> ------------------------------------------------------- >>> SF email is sponsored by - The IT Product Guide >>> Read honest & candid reviews on hundreds of IT Products from real >>> users. >>> Discover which products truly live up to the hype. Start reading now. >>> http://productguide.itmanagersjournal.com/ >>> _______________________________________________ >>> Webware-discuss mailing list >>> Web...@li... >>> https://lists.sourceforge.net/lists/listinfo/webware-discuss >> >> ------------------------------------------------------- >> SF email is sponsored by - The IT Product Guide >> Read honest & candid reviews on hundreds of IT Products from real >> users. >> Discover which products truly live up to the hype. Start reading now. >> http://productguide.itmanagersjournal.com/ >> _______________________________________________ >> Webware-discuss mailing list >> Web...@li... >> https://lists.sourceforge.net/lists/listinfo/webware-discuss > > -- > Douglas Soares de Andrade - UnilesteMG > dsa em unilestemg.br - Linux User: #237615 > http://douglasandrade.tk > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real > users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 21:50:39
|
Hi ! When i try this i have this error: NameError: global name 'WebwareError' is not defined Another question... How to call Webware Servlets methods from PSP ? In the PSP page they say that PSP's have full access to the WebKit Servlet API. But... How to do this ? Another thing... How to use the htmlinfo() method from req (HTTPRequest) ? See ya ! Em Qua 01 Dez 2004 21:38, Winston Wolff escreveu: > I'd say do it with exceptions then. You could write a die() method > with raises an exception like: > > def die( msg ): > # I'm not sure what the name of the WebwareError is. You could also > subclass Exception to make your own. > raise WebwareError( msg ) > > > try: > import MySQLdb > except ImportError: > self.die("You need MySQLdb in the PYTHONPATH or installed libraries > to run this PSP page.") > > and then the standard webware error page will show your message instead > of the ImportError message. I'm not sure this is the best way of > handling errors though. > > -ww > > On Dec 1, 2004, at 2:19 PM, Douglas Soares de Andrade wrote: > > Hi ! > > > > Well, the return trick stop the application from a def block. > > > > And how to stop the application from a def block that is inside a > > class ? > > > > Im asking this because i put that soluction in a method on my db class > > and the > > exception occur and the aplication continue to execute code. > > > > I want to do exactly as PHP die() function, wich stop the execution of > > the app > > from anywhere it is called. > > > > Thanks in advance. > > > > See ya ! > > > > Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > >> You could catch the exception and write the error message. Something > >> like this (I haven't tested it): > >> <% > >> try: > >> import MySQLdb > >> except ImportError: > >> self.writeln("You need MySQLdb in the PYTHONPATH or installed > >> libraries to run this PSP page.") > >> return > >> %> > >> > >> > >> If you want a more elaborate error handling system, you could add a > >> method writeError() to the base class of your pages and call that, > >> which would write out a nice HTML page with your error message. Of > >> course for this to work, you need to arrange your pages such that the > >> processing and error checking is done before you output any HTML. > >> Otherwise, your partially written HTML would be mixed with the HTML > >> from writeError(). > >> > >> -ww > >> > >> On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > >>> Hi ! > >>> > >>> Im writing my programs with PSP. Is there a way to report a error and > >>> kill the > >>> app like the PHP die() function does ? > >>> > >>> Suppose i have this code : > >>> > >>> import MySQLdb > >>> > >>> If i dont have this module i will have the error page. I dont want to > >>> let him > >>> have the error page, i want to shoot this message: > >>> > >>> "Dear user... Calm there, this is not the end of the world. The > >>> module > >>> MySQLdb > >>> is not installed." > >>> > >>> How to do it ? > >>> > >>> PS: Dont take the user word seriously :) > >>> PS2: Dont mind if the solution is in servlet way, it will help me > >>> reach the > >>> real solution. > >>> > >>> Thanks for the help > >>> > >>> -- > >>> Douglas Soares de Andrade - UnilesteMG > >>> dsa em unilestemg.br - Linux User: #237615 > >>> http://douglasandrade.tk > >>> > >>> > >>> > >>> ------------------------------------------------------- > >>> SF email is sponsored by - The IT Product Guide > >>> Read honest & candid reviews on hundreds of IT Products from real > >>> users. > >>> Discover which products truly live up to the hype. Start reading now. > >>> http://productguide.itmanagersjournal.com/ > >>> _______________________________________________ > >>> Webware-discuss mailing list > >>> Web...@li... > >>> https://lists.sourceforge.net/lists/listinfo/webware-discuss > >> > >> ------------------------------------------------------- > >> SF email is sponsored by - The IT Product Guide > >> Read honest & candid reviews on hundreds of IT Products from real > >> users. > >> Discover which products truly live up to the hype. Start reading now. > >> http://productguide.itmanagersjournal.com/ > >> _______________________________________________ > >> Webware-discuss mailing list > >> Web...@li... > >> https://lists.sourceforge.net/lists/listinfo/webware-discuss > > > > -- > > Douglas Soares de Andrade - UnilesteMG > > dsa em unilestemg.br - Linux User: #237615 > > http://douglasandrade.tk > > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real > > users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |
From: Jason H. <ja...@pe...> - 2004-12-01 21:47:47
|
Hi Douglas, I think you are looking for the 'EndResponse' exception. From WebKit/Page.py: def endResponse(self): """ If this is called during sleep() or awake() then the rest of awake(), response(), and sleep() are skipped and the accumulated response is sent immediately with no further processing. If this is called during respond() then the rest of respond() is skipped but sleep() is called, then the accumulated response is sent. """ So if your code is in a servlet or PSP subclassed from page, just call self.endResponse(). If you are in deeper code (i.e. code called from the PSP or servlet), do: from WebKit.Application import EndResponse raise EndResponse peace, Jason On Wed, 2004-12-01 at 19:19 +0000, Douglas Soares de Andrade wrote: > Hi ! > Well, the return trick stop the application from a def block. > And how to stop the application from a def block that is inside a class ? > Im asking this because i put that soluction in a method on my db class and > the > exception occur and the aplication continue to execute code. > I want to do exactly as PHP die() function, wich stop the execution of the > app > from anywhere it is called. > Thanks in advance. > See ya ! > Em Qua 01 Dez 2004 19:06, Winston Wolff escreveu: > > You could catch the exception and write the error message. Something > > like this (I haven't tested it): > > <% > > try: > > import MySQLdb > > except ImportError: > > self.writeln("You need MySQLdb in the PYTHONPATH or installed > > libraries to run this PSP page.") > > return > > %> > > > > > > If you want a more elaborate error handling system, you could add a > > method writeError() to the base class of your pages and call that, > > which would write out a nice HTML page with your error message. Of > > course for this to work, you need to arrange your pages such that the > > processing and error checking is done before you output any HTML. > > Otherwise, your partially written HTML would be mixed with the HTML > > from writeError(). > > > > -ww > > > > On Dec 1, 2004, at 11:35 AM, Douglas Soares de Andrade wrote: > > > Hi ! > > > > > > Im writing my programs with PSP. Is there a way to report a error and > > > kill the > > > app like the PHP die() function does ? > > > > > > Suppose i have this code : > > > > > > import MySQLdb > > > > > > If i dont have this module i will have the error page. I dont want to > > > let him > > > have the error page, i want to shoot this message: > > > > > > "Dear user... Calm there, this is not the end of the world. The module > > > MySQLdb > > > is not installed." > > > > > > How to do it ? > > > > > > PS: Dont take the user word seriously :) > > > PS2: Dont mind if the solution is in servlet way, it will help me > > > reach the > > > real solution. > > > > > > Thanks for the help > > > > > > -- > > > Douglas Soares de Andrade - UnilesteMG > > > dsa em unilestemg.br - Linux User: #237615 > > > http://douglasandrade.tk > > > > > > > > > > > > ------------------------------------------------------- > > > SF email is sponsored by - The IT Product Guide > > > Read honest & candid reviews on hundreds of IT Products from real > > > users. > > > Discover which products truly live up to the hype. Start reading now. > > > http://productguide.itmanagersjournal.com/ > > > _______________________________________________ > > > Webware-discuss mailing list > > > Web...@li... > > > https://lists.sourceforge.net/lists/listinfo/webware-discuss > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > https://lists.sourceforge.net/lists/listinfo/webware-discuss |
From: Douglas S. de A. <ds...@un...> - 2004-12-01 22:00:01
|
Hi Jason ! > I think you are looking for the 'EndResponse' exception. From > WebKit/Page.py: > > def endResponse(self): > """ > If this is called during sleep() or awake() then the rest of awake(), > response(), and sleep() are skipped and the accumulated response is sent > immediately with no further processing. If this is called during respond() > then the rest of respond() is skipped but sleep() is called, then the > accumulated response is sent. > """ Thats it... phew... my search for the mean of life has ended now... :) Worked ok. I would like to thank you all, and those aswers are helping me to build a tutorial to PSP. I think that this is a way to bring PHP programmers to our world and once here, they can choice to use PSP, servlets, Cheetah and so on. Again, thanks ! -- Douglas Soares de Andrade - UnilesteMG dsa em unilestemg.br - Linux User: #237615 http://douglasandrade.tk |