Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP Links Checked by NodeWorks
Demo ASP: syntax_error.asp 2010-03-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_aspx8b6c7882356f519fda94ea81f47734efxINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9182c9c)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9182c9c)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9180e9c)') 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 1522
Debug Output
  1. RUN ASP (v2.61) for /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  2. GlobalASA package Apache::ASP::Demo
  3. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  4. creating dbm for file /tmp/asp_demo/server/application, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  5. refreshing 0cc4f0c8993f571b989d66aee54bdf7f with timeout 1268181350
  6. new session id 0cc4f0c8993f571b989d66aee54bdf7f
  7. creating dbm for file /tmp/asp_demo/0c/0cc4f0c8993f571b989d66aee54bdf7f, db SDBM_File, serializer: Data::Dumper
  8. tieing session 0cc4f0c8993f571b989d66aee54bdf7f
  9. clearing starting session
  10. Session_OnStart - session: 0cc4f0c8993f571b989d66aee54bdf7f;
  11. executing Session_OnStart
  12. parse file /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  13. parsing /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  14. found header.inc at /usr/local/proj/mlink/site/asp/eg/header.inc
  15. runtime exec of dynamic include header.inc args ()
  16. parse file /usr/local/proj/mlink/site/asp/eg/header.inc
  17. parsing /usr/local/proj/mlink/site/asp/eg/header.inc
  18. start parse of data - 1320
  19. undefing sub Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx24bd1b50626504c18134bcd2c77446fcxINC code CODE(0x9184880)
  20. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx24bd1b50626504c18134bcd2c77446fcxINC]
  21. start parse of data - 1495
  22. undefing sub Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6c7882356f519fda94ea81f47734efxINC code CODE(0x9185540)
  23. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6c7882356f519fda94ea81f47734efxINC]
  24. register include /usr/local/proj/mlink/site/asp/eg/header.inc with success
  25. parse file /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  26. parsing /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  27. start parse of data - 116
  28. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx87ca4f3817507604073b2da577c9bbd0xINC code CODE(0x9187904)
  29. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx87ca4f3817507604073b2da577c9bbd0xINC]
  30. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx87ca4f3817507604073b2da577c9bbd0xINC code CODE(0x9187904)
  31. register include compile_error.inc with error:
  32. Script_OnStart
  33. executing Script_OnStart
  34. [syntax_error.asp] - Script_OnStart /usr/local/proj/mlink/site/asp/eg/syntax_error.asp in global.asa
  35. executing Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6c7882356f519fda94ea81f47734efxINC
  36. Script_OnFlush
  37. executing Script_OnFlush
  38. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  39. building headers
  40. sending cgi headers
  41. executing Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx24bd1b50626504c18134bcd2c77446fcxINC
  42. Script_OnFlush
  43. executing Script_OnFlush
  44. [syntax_error.asp] - Script_OnFlush: about to flush 1036 bytes to client
  45. Script_OnFlush
  46. executing Script_OnFlush
  47. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  48. done executing include code Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incx24bd1b50626504c18134bcd2c77446fcxINC
  49. Script_OnFlush
  50. executing Script_OnFlush
  51. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  52. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  53. Script_OnFlush
  54. executing Script_OnFlush
  55. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  56. Script_OnFlush
  57. executing Script_OnFlush
  58. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  59. 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_aspx8b6c7882356f519fda94ea81f47734efxINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9182c9c)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9182c9c)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9180e9c)') 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 1522
  60. ASP Done Processing Apache::ASP=HASH(0x9182c9c) - Application: Apache::ASP::Application=HASH(0x9187010); GlobalASA: Apache::ASP::GlobalASA=HASH(0x91826cc); Internal: Apache::ASP::State=HASH(0x85f91b8); Request: Apache::ASP::Request=HASH(0x918671c); Response: Apache::ASP::Response=HASH(0x9186ac4); Server: Apache::ASP::Server=HASH(0x9186ec0); Session: Apache::ASP::Session=HASH(0x9185a68); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x9186740); compile_checksum: ff296bd1061de32598ffbfab063ed1e9; compile_error: ; compile_eval: ; compile_includes: 1; compile_perl_count: 3; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x918722c); destroy: 1; dir_config: Apache::Table=HASH(0x91856e4); dirname: /usr/local/proj/mlink/site/asp/eg/; errors_output: ARRAY(0x9185900); 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(0x9185798); includes_dir: ARRAY(0x9185498); init_packages: ARRAY(0x91829cc); inode_names: ; lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x918227c); last_compile_include_data: HASH(0x9186eb4); last_time: 1268181050.2989; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 3; pod_comments: 1; r: Apache=SCALAR(0x9180e9c); register_includes: HASH(0x918239c); remote_ip: 38.107.191.116; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x91866a4); search_dirs_cache: HASH(0x9180c80); secure_session: ; session_count: 1; session_id: 0cc4f0c8993f571b989d66aee54bdf7f; 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: 1268181050.28404; 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: ;
  61. errors out
  62. 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_aspx8b6c7882356f519fda94ea81f47734efxINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9182c9c)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx8b6...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9182c9c)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9180e9c)') 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 1522
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.