JavaScript > 例外処理 > TypeError

例外としてerrorオブジェクトをを投げる。 入力した値が数字の場合2倍して返す。 数字以外は例外を投げる。

HTML

<form>
    <input id="input" type="text" size="40">
    <button id="check">2倍にする</button>
</form>

CSS

#check {
    color: red;
}

JavaScript

$('#check').click(function(e) {
    var data = $('#input').val();
    try {
        $('#input').val(double(data));
    } catch (e) {
        $('#input').val(e.name + ' : ' + e.message);
        // console.log(e)
        // TypeError: 数字以外が入力された。
    }
    return false;
});

function double(data) {
    if (data.match(/[^0-9]/) !== null) {
        throw new TypeError('数字以外が入力された。');
    }
    return data * 2;
}