0

Web ページの javascrip 関数で発生するエラーを特定しようとしているので、追加しました

function guardarMisDatos() throws Exception {
try{
...
} catch (Exception e){
alert("error: ", e);
}

しかし、ページを開くと、Chrome Web コンソールでエラーが表示されます

function guardarMisDatos() throws Exception {

エラーの種類は「キャッチされていない構文エラー: 予期しない識別子」です。エラーはどこにありますか? 最初のクリックで関数が起動されない方法を確認するのは正しい方法ですか?

4

4 に答える 4

5

JavaではなくJavaScriptです。を失うthrows Exception

于 2012-05-14T14:37:12.560 に答える
2

あなたのコードは、javaScript ではなく、Java によく似ています。JavaScript での try/catch の構文は次のようになります。

try {
    // do stuff
} catch (e) {
    // something bad happened
}

throws型がないことに注意してくださいe(javascript は緩く型付けされているため)

于 2012-05-14T14:50:31.037 に答える
0

「throws Exception」と「Exception」への catch 参照を削除します。例外の種類を知るには、e.name プロパティを見てください。次の 6 つのいずれかになります。

  • EvalError - eval() 関数でエラーが発生しました。
  • RangeError - 範囲数値の ut が発生しました。
  • ReferenceError - 不正な参照が発生しました。
  • SyntaxError - eval() 関数内のコード内で構文エラーが発生しました。他のすべての構文エラーは、try/catch/finally によってキャッチされず、エラーに関連付けられた既定のブラウザー エラー メッセージをトリガーします。実際の構文エラーをキャッチするには、onerror イベントを使用できます。
  • TypeError - 予想される変数の型でエラーが発生しました。
  • URIError - URI のエンコードまたはデコード中にエラーが発生しました (つまり、encodeURI() の呼び出し時)。

これらは定数ではなく、実際の文字列です。if (e.name.toString()=="TypeError")エラー オブジェクトには他にも多くの利点があります。詳細については、http://www.javascriptkit.com/javatutors/trycatch2.shtmlを参照してください。

于 2012-05-14T14:57:06.470 に答える
0

throws Exception関数定義から を削除します。これは JavaScript では必要ありません。それに加えて、なぜあなたの関数は例外をスローするのでしょうか - あなたはすでにそれをキャッチしています!

于 2012-05-14T14:37:49.597 に答える