Skip to content

Commit 7185213

Browse files
committed
fix bugprone-exception-escape issues
1 parent f739cc1 commit 7185213

File tree

4 files changed

+94
-71
lines changed

4 files changed

+94
-71
lines changed

multi_physics/QED/QED_table_generator/table_generator.cpp

Lines changed: 54 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
* or gnuplot.
55
*/
66

7-
#include <string>
8-
#include <vector>
97
#include <algorithm>
10-
#include <fstream>
11-
#include <map>
128
#include <cstdlib>
139
#include <cstring>
10+
#include <exception>
11+
#include <fstream>
1412
#include <iomanip>
13+
#include <map>
14+
#include <string>
15+
#include <vector>
1516

1617
#ifdef PXRMP_TABLE_GEN_HAS_OPENMP
1718
#include <omp.h>
@@ -769,51 +770,58 @@ std::string parse_file_name_prefix(std::map<std::string, std::string>& args){
769770

770771
int main(int argc, char** argv)
771772
{
772-
handle_help_argument(argc, argv);
773-
auto args = read_arg_pairs(argc, argv);
774-
775-
const auto precision = parse_precision(args);
776-
const auto table_type = parse_table_type(args);
777-
const auto file_name_prefix = parse_file_name_prefix(args);
778-
779-
if(table_type == TableType::breit_wheeler_table){
780-
if(precision == Precision::double_precision){
781-
auto params = parse_breit_wheeler_params<double>(args);
782-
do_breit_wheeler<
783-
double, px_bw::generation_policy::regular>(
784-
params, file_name_prefix);
785-
}
786-
else if(precision == Precision::single_precision){
787-
auto params = parse_breit_wheeler_params<float>(args);
788-
do_breit_wheeler<
789-
float, px_bw::generation_policy::regular>(
773+
try{
774+
handle_help_argument(argc, argv);
775+
auto args = read_arg_pairs(argc, argv);
776+
777+
const auto precision = parse_precision(args);
778+
const auto table_type = parse_table_type(args);
779+
const auto file_name_prefix = parse_file_name_prefix(args);
780+
781+
if(table_type == TableType::breit_wheeler_table){
782+
if(precision == Precision::double_precision){
783+
auto params = parse_breit_wheeler_params<double>(args);
784+
do_breit_wheeler<
785+
double, px_bw::generation_policy::regular>(
786+
params, file_name_prefix);
787+
}
788+
else if(precision == Precision::single_precision){
789+
auto params = parse_breit_wheeler_params<float>(args);
790+
do_breit_wheeler<
791+
float, px_bw::generation_policy::regular>(
790792
params, file_name_prefix);
793+
}
794+
else if(precision == Precision::single_prec_out_double_prec_comp){
795+
auto params = parse_breit_wheeler_params<float>(args);
796+
do_breit_wheeler<
797+
float, px_bw::generation_policy::force_internal_double>(
798+
params, file_name_prefix);
799+
}
791800
}
792-
else if(precision == Precision::single_prec_out_double_prec_comp){
793-
auto params = parse_breit_wheeler_params<float>(args);
794-
do_breit_wheeler<
795-
float, px_bw::generation_policy::force_internal_double>(
796-
params, file_name_prefix);
801+
else if(table_type == TableType::quantum_synchrotron_table){
802+
if(precision == Precision::double_precision){
803+
auto params = parse_quantum_sync_params<double>(args);
804+
do_quantum_sync<
805+
double, px_qs::generation_policy::regular>(
806+
params, file_name_prefix);
807+
}
808+
else if(precision == Precision::single_precision){
809+
auto params = parse_quantum_sync_params<float>(args);
810+
do_quantum_sync<
811+
float, px_qs::generation_policy::regular>(
812+
params, file_name_prefix);
813+
}
814+
else if(precision == Precision::single_prec_out_double_prec_comp){
815+
auto params = parse_quantum_sync_params<float>(args);
816+
do_quantum_sync<
817+
float, px_qs::generation_policy::force_internal_double>(
818+
params, file_name_prefix);
819+
}
797820
}
798821
}
799-
else if(table_type == TableType::quantum_synchrotron_table){
800-
if(precision == Precision::double_precision){
801-
auto params = parse_quantum_sync_params<double>(args);
802-
do_quantum_sync<
803-
double, px_qs::generation_policy::regular>(
804-
params, file_name_prefix);
805-
}
806-
else if(precision == Precision::single_precision){
807-
auto params = parse_quantum_sync_params<float>(args);
808-
do_quantum_sync<
809-
float, px_qs::generation_policy::regular>(
810-
params, file_name_prefix);
811-
}
812-
else if(precision == Precision::single_prec_out_double_prec_comp){
813-
auto params = parse_quantum_sync_params<float>(args);
814-
do_quantum_sync<
815-
float, px_qs::generation_policy::force_internal_double>(
816-
params, file_name_prefix);
817-
}
822+
catch(const std::exception& e){
823+
std::cerr << e.what();
824+
exit(EXIT_FAILURE);
818825
}
826+
exit(EXIT_SUCCESS);
819827
}

multi_physics/QED/kokkos_example/kokkos_example_breit_wheeler.cpp

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -327,21 +327,28 @@ void do_test(Kokkos::Random_XorShift64_Pool<>& rand_pool)
327327

328328
int main(int argc, char** argv)
329329
{
330-
Kokkos::initialize(argc, argv);
331-
{
332-
Kokkos::Random_XorShift64_Pool<> rand_pool{random_seed};
330+
try{
331+
Kokkos::initialize(argc, argv);
332+
{
333+
Kokkos::Random_XorShift64_Pool<> rand_pool{random_seed};
333334

334-
std::cout << "*** Kokkos example: begin ***" << std::endl;
335+
std::cout << "*** Kokkos example: begin ***" << std::endl;
335336

336-
std::cout << " --- Double precision test ---" << std::endl;
337-
do_test<double>(rand_pool);
338-
std::cout << " --- END ---" << std::endl;
337+
std::cout << " --- Double precision test ---" << std::endl;
338+
do_test<double>(rand_pool);
339+
std::cout << " --- END ---" << std::endl;
339340

340-
std::cout << " --- Single precision test ---" << std::endl;
341-
do_test<float>(rand_pool);
342-
std::cout << " --- END ---" << std::endl;
341+
std::cout << " --- Single precision test ---" << std::endl;
342+
do_test<float>(rand_pool);
343+
std::cout << " --- END ---" << std::endl;
343344

344-
std::cout << "___ END ___" << std::endl;
345+
std::cout << "___ END ___" << std::endl;
346+
}
347+
Kokkos::finalize();
345348
}
346-
Kokkos::finalize();
349+
catch(const std::exception& e){
350+
std::cerr << e.what;
351+
exit(EXIT_FAILURE);
352+
}
353+
exit(EXIT_SUCCESS);
347354
}

multi_physics/QED/kokkos_example/kokkos_example_commons.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@
2626
#include <picsar_qed/physics/quantum_sync/quantum_sync_engine_tables_generator.hpp>
2727
//__________________________________________________
2828

29+
#include <cstdlib>
30+
#include <exception>
2931
#include <iostream>
3032
#include <string>
31-
#include <cstdlib>
3233

3334
//Some namespace aliases
3435
namespace pxr = picsar::multi_physics::phys;

multi_physics/QED/kokkos_example/kokkos_example_quantum_synchrotron.cpp

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -291,21 +291,28 @@ void do_test(Kokkos::Random_XorShift64_Pool<>& rand_pool)
291291

292292
int main(int argc, char** argv)
293293
{
294-
Kokkos::initialize(argc, argv);
295-
{
296-
Kokkos::Random_XorShift64_Pool<> rand_pool{random_seed};
294+
try{
295+
Kokkos::initialize(argc, argv);
296+
{
297+
Kokkos::Random_XorShift64_Pool<> rand_pool{random_seed};
297298

298-
std::cout << "*** Kokkos example: begin ***" << std::endl;
299+
std::cout << "*** Kokkos example: begin ***" << std::endl;
299300

300-
std::cout << " --- Double precision test ---" << std::endl;
301-
do_test<double>(rand_pool);
302-
std::cout << " --- END ---" << std::endl;
301+
std::cout << " --- Double precision test ---" << std::endl;
302+
do_test<double>(rand_pool);
303+
std::cout << " --- END ---" << std::endl;
303304

304-
std::cout << " --- Single precision test ---" << std::endl;
305-
do_test<float>(rand_pool);
306-
std::cout << " --- END ---" << std::endl;
305+
std::cout << " --- Single precision test ---" << std::endl;
306+
do_test<float>(rand_pool);
307+
std::cout << " --- END ---" << std::endl;
307308

308-
std::cout << "___ END ___" << std::endl;
309+
std::cout << "___ END ___" << std::endl;
310+
}
311+
Kokkos::finalize();
309312
}
310-
Kokkos::finalize();
313+
catch(const std::exception& e){
314+
std::cerr << e.what;
315+
exit(EXIT_FAILURE);
316+
}
317+
exit(EXIT_SUCCESS);
311318
}

0 commit comments

Comments
 (0)