Skip to content

Commit f5dbfd4

Browse files
author
Daniel Kroening
authored
Merge pull request #1589 from reuk/reuk/fewer-exceptions
Replace try-catch with nullptr checks
2 parents 8e99272 + 8da6a81 commit f5dbfd4

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

src/util/std_code.h

+6-12
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,11 @@ namespace detail // NOLINT
5353
template<typename Tag>
5454
inline bool can_cast_code_impl(const exprt &expr, const Tag &tag)
5555
{
56-
try
56+
if(const auto ptr = expr_try_dynamic_cast<codet>(expr))
5757
{
58-
return expr_dynamic_cast<codet>(expr).get_statement()==tag;
59-
}
60-
catch(const std::bad_cast &)
61-
{
62-
return false;
58+
return ptr->get_statement() == tag;
6359
}
60+
return false;
6461
}
6562

6663
} // namespace detail
@@ -1244,14 +1241,11 @@ namespace detail // NOLINT
12441241
template<typename Tag>
12451242
inline bool can_cast_side_effect_expr_impl(const exprt &expr, const Tag &tag)
12461243
{
1247-
try
1248-
{
1249-
return expr_dynamic_cast<side_effect_exprt>(expr).get_statement()==tag;
1250-
}
1251-
catch(const std::bad_cast &)
1244+
if(const auto ptr = expr_try_dynamic_cast<side_effect_exprt>(expr))
12521245
{
1253-
return false;
1246+
return ptr->get_statement() == tag;
12541247
}
1248+
return false;
12551249
}
12561250

12571251
} // namespace detail

0 commit comments

Comments
 (0)