Skip to content

Commit

Permalink
Throw MatrixException instead of RuntimeException (#21)
Browse files Browse the repository at this point in the history
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
  • Loading branch information
geofjamg authored Mar 2, 2022
1 parent 4695a25 commit 36c62dc
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
4 changes: 2 additions & 2 deletions src/jniwrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
2 changes: 1 addition & 1 deletion src/jniwrapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ class DoubleArray : public JniWrapper<jdoubleArray> {
mutable jdouble* _ptr;
};

void throwJavaLangRuntimeException(JNIEnv* env, const char* msg);
void throwMatrixException(JNIEnv* env, const char* msg);

} // namespace jni

Expand Down
36 changes: 18 additions & 18 deletions src/lu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
}

Expand Down Expand Up @@ -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");
}
}

Expand All @@ -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");
}
}

Expand All @@ -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");
}
}

Expand Down Expand Up @@ -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");
}
}

Expand All @@ -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");
}
}

Expand Down Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 36c62dc

Please sign in to comment.