exception (version 1.0)
You can also look at:
#! /usr/bin/ksh
###########################################################################
#
# SYNTAX: exception caller level message
#
# DESCRIPTION: A general exception handling routine. All errors should
# DESCRIPTION: eventually be reported through this routine
#
# VERSION: 1.0
#
# HISTORY: 0.0 -> 1.0 10/17/96
# HISTORY: fixed a bug which left out the closing anchor tag in the
# HISTORY: error log entry
#
##############################################################################
caller=$1
level=$2
message=$3
######################################################################
# get job log and error log names
######################################################################
joblog=$($UTIL/generate_filename joblog )
errlog=$($UTIL/generate_filename errlog )
#################################
# HTML anchor name for the error
#################################
label=E$(date '+%dE%H%M%S')
#######################
# job log entry
#######################
echo "<h2><a name=\"${label}\">" >>$joblog
echo "E${level} in ${caller##*/}: ${message}</a></h2>" >> $joblog
####################
# error log entry
####################
echo "<li><a href=\"${joblog}#${label}\"> " >>$errlog
echo "E${level} in ${caller##*/}: ${message}</a> " >> $errlog
exit 0