From 36c62dc62b50b1817c464006a5e8366204e6d208 Mon Sep 17 00:00:00 2001 From: Geoffroy Jamgotchian Date: Wed, 2 Mar 2022 18:03:12 +0100 Subject: [PATCH] Throw MatrixException instead of RuntimeException (#21) Signed-off-by: Geoffroy Jamgotchian --- src/jniwrapper.cpp | 4 ++-- src/jniwrapper.hpp | 2 +- src/lu.cpp | 36 ++++++++++++++++++------------------ 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/jniwrapper.cpp b/src/jniwrapper.cpp index 45f9679..c2d5b18 100644 --- a/src/jniwrapper.cpp +++ b/src/jniwrapper.cpp @@ -14,8 +14,8 @@ namespace powsybl { namespace jni { -void throwJavaLangRuntimeException(JNIEnv* env, const char* msg) { - jclass clazz = env->FindClass("java/lang/RuntimeException"); +void throwMatrixException(JNIEnv* env, const char* msg) { + jclass clazz = env->FindClass("com/powsybl/math/matrix/MatrixException"); env->ThrowNew(clazz, msg); } diff --git a/src/jniwrapper.hpp b/src/jniwrapper.hpp index 7acba72..c578066 100644 --- a/src/jniwrapper.hpp +++ b/src/jniwrapper.hpp @@ -148,7 +148,7 @@ class DoubleArray : public JniWrapper { mutable jdouble* _ptr; }; -void throwJavaLangRuntimeException(JNIEnv* env, const char* msg); +void throwMatrixException(JNIEnv* env, const char* msg); } // namespace jni diff --git a/src/lu.cpp b/src/lu.cpp index ac85b04..4bc137b 100644 --- a/src/lu.cpp +++ b/src/lu.cpp @@ -156,9 +156,9 @@ JNIEXPORT void JNICALL Java_com_powsybl_math_matrix_SparseLUDecomposition_init(J throw std::runtime_error("klu_factor error " + context.error()); } } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -198,9 +198,9 @@ JNIEXPORT jdouble JNICALL Java_com_powsybl_math_matrix_SparseLUDecomposition_upd } return context.common.rgrowth; } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -224,9 +224,9 @@ JNIEXPORT void JNICALL Java_com_powsybl_math_matrix_SparseLUDecomposition_releas MANAGER->removeContext(id); } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -252,9 +252,9 @@ JNIEXPORT void JNICALL Java_com_powsybl_math_matrix_SparseLUDecomposition_solve( } } } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -283,9 +283,9 @@ JNIEXPORT void JNICALL Java_com_powsybl_math_matrix_SparseLUDecomposition_solve2 } } } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -299,9 +299,9 @@ JNIEXPORT void JNICALL Java_com_powsybl_math_matrix_SparseMatrix_nativeInit(JNIE // lookup caching powsybl::jni::ComPowsyblMathMatrixSparseMatrix::init(env); } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } } @@ -355,9 +355,9 @@ JNIEXPORT jobject JNICALL Java_com_powsybl_math_matrix_SparseMatrix_times(JNIEnv return matrix; } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } return nullptr; } @@ -393,9 +393,9 @@ JNIEXPORT jobject JNICALL Java_com_powsybl_math_matrix_SparseMatrix_transpose(JN return matrix; } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } return nullptr; } @@ -446,9 +446,9 @@ JNIEXPORT jobject JNICALL Java_com_powsybl_math_matrix_SparseMatrix_add(JNIEnv * return matrix; } catch (const std::exception& e) { - powsybl::jni::throwJavaLangRuntimeException(env, e.what()); + powsybl::jni::throwMatrixException(env, e.what()); } catch (...) { - powsybl::jni::throwJavaLangRuntimeException(env, "Unknown exception"); + powsybl::jni::throwMatrixException(env, "Unknown exception"); } return nullptr; }