I was just curious I have 2 try and catch codes below both are supposed to to the exact same thing in 1 code the variable is message = document.getElementById("p01").innerHTML and in the other the variable is message = document.getElementById("p01") Why does 1 code work and the other not. they both looked the same to me
<!DOCTYPE html>
<html>
<body>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="p01"></p>
<script>
function myFunction() {
    var message, x;
    // Why is this code not working I have added .innerHTML 
    message = document.getElementById("p01").innerHTML;
    x = document.getElementById("demo").value;
    try { 
        if(x == "")  throw "empty";
        if(isNaN(x)) throw "not a number";
        x = Number(x);
        if(x < 5)    throw "too low";
        if(x > 10)   throw "too high";
    }
    catch(err) {
        message = "Input is " + err; // the catch statement
    }
}
</script>
</body>
</html>
The below code does works
<!DOCTYPE html>
<html>
<body>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="p01"></p>
<script>
function myFunction() {
    var message, x;
     //note message does not have a .innerHTML code here and this works?
    message = document.getElementById("p01");
    x = document.getElementById("demo").value;
    try { 
        if(x == "")  throw "empty";
        if(isNaN(x)) throw "not a number";
        x = Number(x);
        if(x < 5)    throw "too low";
        if(x > 10)   throw "too high";
    }
    catch(err) {
        message.innerHTML = "Input is " + err; // the catch statement
    }
}
</script>
</body>
</html>