打破 try/throw/catch
Break on try/throw/catch
我正在尝试使用 try/throw/catch 在 console.log() 中以正确的方式显示错误格式。如果我使用此代码:
var add = function ( a, b ) {
try {
if ( typeof a !== 'number' || typeof b !== 'number' ) throw {
name: 'TypeError!\n',
message: 'You must enter two numbers'
}
} catch ( e ) {
console.log( e.name + e.message );
}
return a + b;
}
console.log( add( 3, undefined ) );
我的控制台显示:
TypeError!
You must use two numbers as parameters
NaN
我怎样才能破坏函数以仅在控制台日志中获取错误而不是结果,在本例中为 NaN?我尝试在 catch 中的控制台日志后使用 break 语句,但控制台显示:
Uncaught SyntaxError: Illegal break statement
你只能在循环中使用break
,你应该从函数中使用return到return。你也可以选择不捕获异常,让它流回调用者。
例子:
var add = function ( a, b ) {
if ( typeof a !== 'number' || typeof b !== 'number' ) throw {
name: 'TypeError!\n',
message: 'You must enter two numbers'
}
return a + b;
}
try {
console.log( add( 3, undefined ) );
} catch ( e ) {
console.log( e.name + e.message );
}
我正在尝试使用 try/throw/catch 在 console.log() 中以正确的方式显示错误格式。如果我使用此代码:
var add = function ( a, b ) {
try {
if ( typeof a !== 'number' || typeof b !== 'number' ) throw {
name: 'TypeError!\n',
message: 'You must enter two numbers'
}
} catch ( e ) {
console.log( e.name + e.message );
}
return a + b;
}
console.log( add( 3, undefined ) );
我的控制台显示:
TypeError!
You must use two numbers as parameters
NaN
我怎样才能破坏函数以仅在控制台日志中获取错误而不是结果,在本例中为 NaN?我尝试在 catch 中的控制台日志后使用 break 语句,但控制台显示:
Uncaught SyntaxError: Illegal break statement
你只能在循环中使用break
,你应该从函数中使用return到return。你也可以选择不捕获异常,让它流回调用者。
例子:
var add = function ( a, b ) {
if ( typeof a !== 'number' || typeof b !== 'number' ) throw {
name: 'TypeError!\n',
message: 'You must enter two numbers'
}
return a + b;
}
try {
console.log( add( 3, undefined ) );
} catch ( e ) {
console.log( e.name + e.message );
}