Masalah Evaluasi Ekspresi Mvel jika nilainya nol

Katakanlah saya memiliki ekspresi di bawah ini yang perlu dievaluasi menggunakan MVEL.

( ( ( A * B ) + C ) / D )

misalkan nilai B adalah NULL, maka MVEL mengevaluasi "A * B" sebagai FALSE. "(A * B) + C" menjadi FalseC Kemudian FalseC/D memunculkan pengecualian

Bagaimana cara mencegahnya...??


person Ankur Singhal    schedule 26.11.2013    source sumber


Jawaban (1)


Sampai sekarang kami menyelesaikan pendekatan ini di bawah. Jika Anda benar-benar men-debug ini di kelas Mvel API, mereka secara eksplisit mengembalikan false untuk kasus khusus ini. Jika Mvel bisa memperbaikinya, itu akan bagus. Tapi masalah yang sama juga saya temui, jadi apa yang kami lakukan, kami membuat beberapa kecerdasan sebelum mengeksekusi ekspresi, kami memodifikasi ekspresi dan memasukkan kondisi "JIKA" untuk memeriksa bidang yang nol dan memiliki operator sebagai "/" atau "* ", pengembaliannya nol.

person Ankur Singhal    schedule 30.03.2014