۴. چاپ خطاهای داخلی اپلیکیشن
گاهی اوقات کدی که در implementation مینویسید باعث میشود خود اپلیکیشن (نه اسکریپت فریدا) خطا دهد. مثلا متد اصلی (this.method()) را با آرگومان غلط صدا میزنید و اپلیکیشن کرش میکند. برای اینکه بفهمید اپلیکیشن چه خطایی داده، میتوانید خطای جاوا را گرفته و چاپ کنید.
کد فریدا (شکار خطای جاوا):
javascript
Java.perform(function () {
var Calculator = Java.use("com.example.app.Calculator")
Calculator.divide.implementation = function (a, b) {
try {
/* فرض کنید b صفر است و این کار باعث ارور در جاوا میشود */
return this.divide(a, b)
} catch (javaException) {
/* اینجا خطای سمتِ جاوا (مثل DivideByZero) را میگیریم */
console.error("[!] Java Exception caught inside app:")
console.error(" " + javaException.toString())
/* میتوانیم جلوی کرش را بگیریم و مقدار دلخواه برگردانیم */
return 0
}
}
})