[PHP] Re: [PHP-DEV] Re: [PHP] Exceptions: function x throws Exception
Marcus Boerger wrote: Hello Jochem, lookup the archieves. We have long ago decided agains that. I'll take your word on it. :-) (shame on me for not searching harder before asking) thanks for replying. marcus Friday, August 5, 2005, 2:26:04 PM, you wrote: Dear Internals, class FooBar { public function foo() throws Exception {} } function fooFoo() throws Exception {} this came up on php-generals and I wondered if anyone had time/cared to comment if it (as it does to me) seems like a good idea and/or whether it is technically feasable. My thinking was that one could then use the reflection API to determine whether functions/methods are capable of throwing exceptions and or what kind - might be quite handy when using third party apps/classes (PEAR springs to mind.) thanks and regards, Jochem Torgny Bjers wrote: Norbert Wenzel wrote: If there is a class with a function, that might throw exceptions and does NOT catch them, may I write that like in Java? class FooClass { public function foo() throws Exception { think about this, especially in terms of the Reflection API, it sounds like a really good idea (at least to me) } } Or is there another possibility to tell a function throws an exception and to force the caller to handle that exception? thanks in advance, Norbert Hello Norbert, The Java way doesn't work here. The best approach would be to simply run a try/catch/finally around the call to your function/method, and inside the function itself you do the following: if (...) { throw new Exception("My message."); } } indeed - bottom line is you have to know that a function/method/extension may throw. mostly you do know because: 1. you wrote the code, 2. or it's documented in the extension manual pages 3. and/ro you hit an unacaught exception whilst developing. my approach to cover any oversights is to wrap every thing in a main try/catch block just in case - keeping in mind that the idea is that this 'main' catch block is never run is al goes well. Regards, Torgny Best regards, Marcus -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DEV] Re: [PHP] Exceptions: function x throws Exception
Hello Jochem, lookup the archieves. We have long ago decided agains that. marcus Friday, August 5, 2005, 2:26:04 PM, you wrote: > Dear Internals, > class FooBar { public function foo() throws Exception {} } > function fooFoo() throws Exception {} > this came up on php-generals and I wondered if anyone had time/cared > to comment if it (as it does to me) seems like a good idea and/or whether it > is > technically feasable. My thinking was that one could then use the reflection > API > to determine whether functions/methods are capable of throwing exceptions and > or > what kind - might be quite handy when using third party apps/classes > (PEAR springs to mind.) > thanks and regards, > Jochem > > Torgny Bjers wrote: >> Norbert Wenzel wrote: >> >>>If there is a class with a function, that might throw exceptions and >>>does NOT catch them, may I write that like in Java? >>> >>>class FooClass { >>> >>>public function foo() throws Exception { > think about this, especially in terms of the Reflection API, it sounds > like a really good idea (at least to me) >>> >>>} >>> >>>} >>> >>>Or is there another possibility to tell a function throws an exception >>>and to force the caller to handle that exception? >>> >>>thanks in advance, >>> >>>Norbert >>> >> >> >> Hello Norbert, >> >> The Java way doesn't work here. The best approach would be to simply run >> a try/catch/finally around the call to your function/method, and inside >> the function itself you do the following: >> >> if (...) { throw new Exception("My message."); } } >> > indeed - bottom line is you have to know that a function/method/extension may > throw. mostly you do know because: > 1. you wrote the code, > 2. or it's documented in the extension manual pages > 3. and/ro you hit an unacaught exception whilst developing. > my approach to cover any oversights is to wrap every thing in a main > try/catch block > just in case - keeping in mind that the idea is that this 'main' catch block > is never run > is al goes well. >> Regards, >> Torgny >> Best regards, Marcus -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php