@@ -361,8 +361,13 @@ If the values are not strictly equal, an `AssertionError` is thrown with a
361361
362362## assert.throws(block[ , error] [ , message ] )  
363363
364- Expects the function ` block `  to throw an error. If specified, ` error `  can be a
365- constructor, [ ` RegExp ` ] [ ] , or validation function.
364+ Expects the function ` block `  to throw an error.
365+ 
366+ If specified, ` error `  can be a constructor, [ ` RegExp ` ] [ ] , or validation
367+ function.
368+ 
369+ If specified, ` message `  will be the message provided by the ` AssertionError `  if
370+ the block fails to throw.
366371
367372Validate instanceof using constructor:
368373
@@ -402,6 +407,18 @@ assert.throws(
402407);
403408``` 
404409
410+ Note that ` error `  can not be a string. If a string is provided as the second
411+ argument, then ` error `  is assumed to be omitted and the string will be used for
412+ ` message `  instead. This can lead to easy-to-miss mistakes:
413+ 
414+ ``` js 
415+ //  THIS IS A MISTAKE! DO NOT DO THIS!
416+ assert .throws (myFunction, ' missing foo' ' did not throw with expected message' 
417+ 
418+ //  Do this instead.
419+ assert .throws (myFunction, / missing foo/  , ' did not throw with expected message' 
420+ ``` 
421+ 
405422[ Locked ] : documentation.html#documentation_stability_index 
406423[ `assert.deepEqual()` ] : #assert_assert_deepequal_actual_expected_message 
407424[ `assert.deepStrictEqual()` ] : #assert_assert_deepstrictequal_actual_expected_message 
0 commit comments