Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP Links Checked by NodeWorks
Demo ASP: syntax_error.asp 2008-05-09

We are creating a perl syntax error... this should demonstrate how error handling is done. Please check the error log file if you are interested in the output there.

You can turn this error messaging off by setting the Debug variable in the ASP config to 1 or 0.

Also here is an example of how you can use debugging, an API extension $Response->Debug(@args), in your script. The debug output will show up below, and in your error logs. This user style debugging is turned off with the same Debug setting set to 0.

Try this script also with buffering on.

This script by default does a runtime syntax error. If you would like to see a script compile error, click here.

view this file's source

Errors Output

  1. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 Apache::ASP::Execute('Apache::ASP=HASH(0x947a910)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx482...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1479 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1477 Apache::ASP::Run('Apache::ASP=HASH(0x947a910)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 191 Apache::ASP::handler('Apache=SCALAR(0x9491010)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1521
Debug Output
  1. RUN ASP (v2.59) for /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  2. call srand() post fork
  3. GlobalASA package Apache::ASP::Demo
  4. global.asa was not cached for __ASP__usr_local_proj_mlink_site_asp_eg__x00af84ec606339cdd7bd51c7f4b07c30xApache::ASP::Demo
  5. compiling global.asa Apache::ASP::Demo __ASP__usr_local_proj_mlink_site_asp_eg__x00af84ec606339cdd7bd51c7f4b07c30xApache::ASP::Demo exists 1 - asp: Apache::ASP=HASH(0x947a910); compiled: HASH(0x9490e60); exists: 1; package: Apache::ASP::Demo; - --- - exists: 0; mtime: 0;
  6. global.asa routines - Application_OnEnd: 1; Application_OnStart: 1; Script_OnEnd: 1; Script_OnFlush: 1; Script_OnStart: 1; Session_OnEnd: 1; Session_OnStart: 1;
  7. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  8. creating dbm for file /tmp/asp_demo/server/application, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  9. refreshing 095df0649e90b2839ddc3770caa7f7fe with timeout 1210338264
  10. new session id 095df0649e90b2839ddc3770caa7f7fe
  11. creating dbm for file /tmp/asp_demo/09/095df0649e90b2839ddc3770caa7f7fe, db SDBM_File, serializer: Data::Dumper
  12. tieing session 095df0649e90b2839ddc3770caa7f7fe
  13. clearing starting session
  14. Session_OnStart - session: 095df0649e90b2839ddc3770caa7f7fe;
  15. executing Session_OnStart
  16. updating LastSessionTimeout from 1210338266
  17. parse file /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  18. parsing /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  19. found header.inc at /usr/local/proj/mlink/site/asp/eg/header.inc
  20. runtime exec of dynamic include header.inc args ()
  21. parse file /usr/local/proj/mlink/site/asp/eg/header.inc
  22. parsing /usr/local/proj/mlink/site/asp/eg/header.inc
  23. start parse of data - 1320
  24. undefing sub Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx8f74fac13345a341d36bd3e0531ba5d5xINC code CODE(0x9bd4b64)
  25. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx8f74fac13345a341d36bd3e0531ba5d5xINC]
  26. start parse of data - 1495
  27. undefing sub Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC code CODE(0x9bd2c28)
  28. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC]
  29. register include /usr/local/proj/mlink/site/asp/eg/header.inc with success
  30. parse file /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  31. parsing /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  32. start parse of data - 116
  33. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx92990c5f3ea471af542cac5e4b456b29xINC code CODE(0x9bd6220)
  34. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx92990c5f3ea471af542cac5e4b456b29xINC]
  35. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx92990c5f3ea471af542cac5e4b456b29xINC code CODE(0x9bd6220)
  36. register include compile_error.inc with error:
  37. Script_OnStart
  38. executing Script_OnStart
  39. [syntax_error.asp] - Script_OnStart /usr/local/proj/mlink/site/asp/eg/syntax_error.asp in global.asa
  40. executing Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC
  41. Script_OnFlush
  42. executing Script_OnFlush
  43. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  44. building headers
  45. sending cgi headers
  46. executing Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx8f74fac13345a341d36bd3e0531ba5d5xINC
  47. Script_OnFlush
  48. executing Script_OnFlush
  49. [syntax_error.asp] - Script_OnFlush: about to flush 1036 bytes to client
  50. Script_OnFlush
  51. executing Script_OnFlush
  52. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  53. done executing include code Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx8f74fac13345a341d36bd3e0531ba5d5xINC
  54. Script_OnFlush
  55. executing Script_OnFlush
  56. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  57. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  58. Script_OnFlush
  59. executing Script_OnFlush
  60. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  61. Script_OnFlush
  62. executing Script_OnFlush
  63. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  64. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 Apache::ASP::Execute('Apache::ASP=HASH(0x947a910)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx482...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1479 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1477 Apache::ASP::Run('Apache::ASP=HASH(0x947a910)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 191 Apache::ASP::handler('Apache=SCALAR(0x9491010)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1521
  65. ASP Done Processing Apache::ASP=HASH(0x947a910) - Application: Apache::ASP::Application=HASH(0x87ec8c8); GlobalASA: Apache::ASP::GlobalASA=HASH(0x9553e98); Internal: Apache::ASP::State=HASH(0x84362c0); Request: Apache::ASP::Request=HASH(0x94596a8); Response: Apache::ASP::Response=HASH(0x848ffc8); Server: Apache::ASP::Server=HASH(0x8495bcc); Session: Apache::ASP::Session=HASH(0x87c4974); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x949113c); compile_checksum: 33ee7e32b763c93639c1f93bbfaff46d; compile_error: ; compile_eval: ; compile_includes: 1; compile_perl_count: 3; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x94910c4); destroy: 1; dir_config: Apache::Table=HASH(0x9490fb0); dirname: /usr/local/proj/mlink/site/asp/eg/; errors_output: ARRAY(0x9bd68c0); errs: 1; filename: /usr/local/proj/mlink/site/asp/eg/syntax_error.asp; global: /usr/local/proj/mlink/site/asp/eg//.; global_package: Apache::ASP::Demo; group_refresh: 30; headers_in: Apache::Table=HASH(0x949690c); includes_dir: ARRAY(0x947aa0c); init_packages: ARRAY(0x8499b30); inode_names: ; lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x9acdef4); last_compile_include_data: HASH(0x9bd4b70); last_time: 1210337964.8767; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 3; pod_comments: 1; r: Apache=SCALAR(0x9491010); register_includes: HASH(0x9bd4c54); remote_ip: 38.103.63.18; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x9bd4bc4); search_dirs_cache: HASH(0x9bd2bd4); secure_session: ; session_count: 1; session_id: 095df0649e90b2839ddc3770caa7f7fe; session_serialize: ; session_state: 1; session_timeout: 300; session_url: 1; session_url_force: ; session_url_match: ; session_url_parse: 0; session_url_parse_match: ; start_time: 1210337964.85033; stat_inc: 0; stat_inc_match: 0; stat_scripts: 1; state_db: ; state_dir: /tmp/asp_demo; state_manager: 10; state_serialize: ; state_serializer: ; ua: CCBot/1.0 (+http://www.commoncrawl.org/bot.html); use_strict: 1; win32: 0; xml_subs_match: my:\w+; xml_subs_perl_args: 1; xml_subs_strict: ; xslt: ;
  66. errors out
  67. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx4827288b73effbafbdeaeb185999a4baxINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1517 Apache::ASP::Execute('Apache::ASP=HASH(0x947a910)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx482...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1479 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1477 Apache::ASP::Run('Apache::ASP=HASH(0x947a910)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 191 Apache::ASP::handler('Apache=SCALAR(0x9491010)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1521
ASP to Perl Script 

  -: use strict;;;use vars qw($Application $Session $Response $Server $Request);;
  -: #line 1 /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  1: ;;
  2: 
  3: ;  
  4: use File::Basename;
  5: if($Request->QueryString('buffer')) {
  6: 	$Response->{Buffer} = 1;
  7: } else {
  8: 	$Response->{Buffer} = 0; 
  9: }
 10: ; &Apache::ASP::WriteRef($main::Response, \('
 11: ')); $Response->Include('/usr/local/proj/mlink/site/asp/eg/header.inc', ); ; &Apache::ASP::WriteRef($main::Response, \('
 12: We are creating a perl syntax error... this should demonstrate 
 13: how error handling is done.  Please check the error log file if 
 14: you are interested in the output there.
 15: <p>
 16: You can turn this error messaging off by setting the Debug variable
 17: in the ASP config to 1 or 0.
 18: <p>
 19: Also here is an example of how you can use debugging, an API
 20: extension $Response->Debug(@args), in your script.  The debug 
 21: output will show up below, and in your error logs.  This user 
 22: style debugging is turned off with the same Debug setting set to 0.
 23: <p>
 24: 
 25: 
 26: 
 27: ')); 
 28:    $Response->Debug(
 29: 	"Debugging", 
 30: 	['can', 'take'], 
 31: 	{'just'=>'about'},
 32: 	sub { ['any', 'kind']},
 33: 	\"of reference",
 34: 	"or scalar"
 35: 	);
 36: 
 37:    print "Try this script also with <a href=".basename($0)."?buffer=1>buffering on.</a>";
 38: ; &Apache::ASP::WriteRef($main::Response, \('
 39: 
 40: <p>
 41: 
 42: This script by default does a runtime syntax error.  If you would like
 43: to see a script <b>compile error, <a href="'.( basename($0) ).'?compile_error=1">click here</a></b>.
 44: 
 45: <p>
 46: <a href="source.asp?file='.($Request->ServerVariables("SCRIPT_NAME")).'">
 47: view this file\'s source
 48: </a>
 49: 
 50: <br>
 51: <br>
 52: 
 53: ')); 
 54: if($Request->QueryString('compile_error')) {
 55:   $Response->Include("compile_error.inc");
 56: } else {
 57:         my $Object;
 58: 	# create a run-time syntax error
 59: 	$Object->SyntaxError(); 
 60: }
 61: ; &Apache::ASP::WriteRef($main::Response, \('
 62: 
 63: 
 64: 
 65: 
 66: 
 67: 
 68: 
 69: 
 70: 
 71: 
 72: 
 73: 
 74: Misc Text Below Error'));


An error has occured with the Apache::ASP script just run. If you are the developer working on this script, and cannot work through this problem, please try researching it at the Apache::ASP web site, specifically the FAQ section. Failing that, check out your support options, and if necessary include this debug output with any query.