A Custom Object Exception : Error Exceptions « Development « JavaScript DHTML






A Custom Object Exception

/*
JavaScript Bible, Fourth Edition
by Danny Goodman 

John Wiley & Sons CopyRight 2001
*/


<HTML>
<HEAD>
<TITLE>Throwing a Custom Error Object Exception</TITLE>
<SCRIPT LANGUAGE="JavaScript">
var letters = new Array("A","B","C","D","E")
function getErrorObj(msg) {
    var err = new Error(msg)
    // take care of IE5/5.5
    if (!err.message) {
        err.message = msg
    }
    err.name = "MY_ERROR"
    return err
}
function getLetter(fld) {
    try {
    var inp = parseInt(fld.value, 10)
        if (isNaN(inp)) {
            throw getErrorObj("Entry was not a number.")
        }
        if (inp < 1 || inp > 5) {
            throw getErrorObj("Enter only 1 through 5.")
        }
        fld.form.output.value = letters[inp]
    }
    catch (e)  {
        switch (e.name) {
            case "MY_ERROR" :
                alert(e.message)
                fld.form.output.value = ""
                fld.focus()
                fld.select()
                break
            default :
                alert("Reload the page and try again.")
        }
    }
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Throwing a Custom Error Object Exception</H1>
<HR>
<FORM>
Enter a number from 1 to 5: 
<INPUT TYPE="text" NAME="input" SIZE=5>
<INPUT TYPE="button" VALUE="Get Letter" onClick=getLetter(this.form.input)>
Matching Letter is:<INPUT TYPE="text" NAME="output" SIZE=5>
</FORM>
</BODY>
</HTML>

           
       








Related examples in the same category

1.Catching the 'Object Expected' Error
2.Throwing an Error
3.Catching an Error
4.Controlling Script Errors
5.An Exception Handling Example
6.Nested Exception Handling (This script only works with Internet Explorer 5, Navigator 6, or later browsers)
7.Using the onError Event Handler
8. Throwing String Exceptions
9.Throwing an Error Object Exception