Skip to main content
Deno 2 is finally here 🎉️
Learn more
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function assertThrows
import { assertThrows } from "https://deno.land/std@0.190.0/testing/asserts.ts";

Executes a function, expecting it to throw. If it does not, then it throws.

Examples

Example 1

import { assertThrows } from "https://deno.land/std@0.190.0/testing/asserts.ts";

Deno.test("doesThrow", function (): void {
  assertThrows((): void => {
    throw new TypeError("hello world!");
  });
});

// This test will not pass.
Deno.test("fails", function (): void {
  assertThrows((): void => {
    console.log("Hello world");
  });
});

Parameters

fn: () => unknown
optional
msg: string

Returns

unknown

Executes a function, expecting it to throw. If it does not, then it throws. An error class and a string that should be included in the error message can also be asserted.

Examples

Example 1

import { assertThrows } from "https://deno.land/std@0.190.0/testing/asserts.ts";

Deno.test("doesThrow", function (): void {
  assertThrows((): void => {
    throw new TypeError("hello world!");
  }, TypeError);
  assertThrows(
    (): void => {
      throw new TypeError("hello world!");
    },
    TypeError,
    "hello",
  );
});

// This test will not pass.
Deno.test("fails", function (): void {
  assertThrows((): void => {
    console.log("Hello world");
  });
});

Type Parameters

optional
E extends Error = Error

Parameters

fn: () => unknown
ErrorClass: new (...args: any[]) => E
optional
msgIncludes: string
optional
msg: string