File: BOOST_CHECK_THROW.html

package info (click to toggle)
boost 1.34.1-14
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 116,412 kB
  • ctags: 259,566
  • sloc: cpp: 642,395; xml: 56,450; python: 17,612; ansic: 14,520; sh: 2,265; yacc: 858; perl: 481; makefile: 478; lex: 94; sql: 74; csh: 6
file content (57 lines) | stat: -rw-r--r-- 2,497 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>The Test Tools</TITLE>
<LINK rel="stylesheet" type="text/css" href="../../../style/btl.css" media="screen">
<LINK rel="stylesheet" type="text/css" href="../../../style/btl-print.css" media="print">
<META http-equiv="Content-Language" content="en-us">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE type="text/css">
H4
{
    margin:     0px;
}
</STYLE>
</HEAD>
<BODY>
<DIV class="body"> 
  <H3>BOOST_WARN_THROW( statement, exception )<BR>
  BOOST_CHECK_THROW( statement, exception )<BR>
  BOOST_REQUIRE_THROW( statement, exception )</H3>
  <P class="first-line-indented">These tools are used to perform an exception
    detection check. Tools execute the supplied statement and checks that
    it throws the supplied exception or it's child. If the statement throw any
    other unrelated exception or doesn't throw at all, check fails.</P>
  <P class="first-line-indented">If check is successful, the tool produces a
    confirmation message, in other case it produces an error message in a form &quot;error
    in &lt;test case name&gt;: exception &lt;<I>exception</I>&gt; 
    expected.</P>
  <P class="first-line-indented">The first parameter is  the statement
    to execute. Use block statement if you want
    to execute more than one statement. The second parameter is an expected
    exception.</P>
  <H4>Example: test.cpp</H4>
<PRE class="code">#<SPAN class="reserv-word">define</SPAN> BOOST_TEST_MAIN<BR>#<SPAN class="reserv-word">include</SPAN> &lt;<SPAN class="literal">boost/test/unit_test.hpp</SPAN>&gt;<BR>
<SPAN class="reserv-word">class</SPAN> my_exception{};

BOOST_AUTO_TEST_CASE( test )
{
    <SPAN class="cpp-type">int</SPAN> i = <SPAN class="literal"> 0</SPAN>;
    BOOST_CHECK_THROW( i++, my_exception );
}</PRE>
  <H4>Output:</H4>
  <P class="test-output">Running 1 test case...<BR>
  test.cpp(9): error in &quot;test&quot;: exception my_exception is expected<BR>
  <BR>
  ***
  1 failure detected in test suite &quot;Master Test Suite&quot;</P>
  <DIV class="see_also"> 
    <H4>See Also</H4>
    <P class="see-also-content"><A href="BOOST_CHECK_NO_THROW.html" target="descr">BOOST_CHECK_NO_THROW</A></P>
  </DIV>
</DIV>
</BODY>
</HTML>
<!-- Copyright Gennadiy Rozental 2001-2006. 
Distributed under the Boost Software License, Version 1.0. 
(See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt) -->