Forums / Developer / Catching the Exceptions

Catching the Exceptions

Author Message

Tihomir Dmitrovic

Thursday 18 August 2011 1:19:30 am

Hi,

I want to be able to catch exceptions thrown from my extension. It can be thrown from module or from template operator methods.

There are 2 main reasons I want to do that.

1. I want to log exceptions with their stacktrace (chained exceptions too)

2. If it is some non critical exceptions (e.g NotEnoughCreditsException), I would like to redirect user to particular page (e.g /buy-credits)

I could not find appropriate documentation section which describes the matter. I'm new to ez (but I have 10 years expiriance in php and java web development).

Thanks

André R.

Friday 19 August 2011 3:06:25 am

Only way would be to have a try block inside your module php code and then dispatch the action you would like to execute.
There is no way to catch eZ Publish exceptions at root, so the template involved would have to be executed from your own module. Note: exceptions/redirections in templates is not recommend when inside view cache for instance.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

eZ debug

Timing: Jan 17 2025 21:21:55
Script start
Timing: Jan 17 2025 21:21:55
Module start 'content'
Timing: Jan 17 2025 21:21:56
Module end 'content'
Timing: Jan 17 2025 21:21:56
Script end

Main resources:

Total runtime1.0062 sec
Peak memory usage4,096.0000 KB
Database Queries191

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0051 596.0391180.8516
Module start 'content' 0.00510.9145 776.8906568.2578
Module end 'content' 0.91970.0865 1,345.1484332.9922
Script end 1.0061  1,678.1406 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00390.3877210.0002
Check MTime0.00140.1378210.0001
Mysql Total
Database connection0.00060.063310.0006
Mysqli_queries0.949694.38041910.0050
Looping result0.00130.12901890.0000
Template Total0.984997.920.4925
Template load0.00180.180620.0009
Template processing0.983197.705620.4915
Template load and register function0.00010.011910.0001
states
state_id_array0.00070.071310.0007
state_identifier_array0.00070.071420.0004
Override
Cache load0.00160.1569140.0001
Sytem overhead
Fetch class attribute can translate value0.00130.124430.0004
Fetch class attribute name0.00090.084930.0003
XML
Image XML parsing0.00090.087030.0003
class_abstraction
Instantiating content class attribute0.00000.000930.0000
General
dbfile0.00200.1975280.0001
String conversion0.00000.000530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
2content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 8
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs