| Summary: | exception reported totally off | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Dean Hiller <dean> |
| Component: | BIRT | Assignee: | Birt-ReportEngine-inbox <Birt-ReportEngine-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | Xiaoying Gu <bluesoldier> |
| Severity: | normal | ||
| Priority: | P3 | CC: | bluesoldier, wyan, yChen |
| Version: | unspecified | ||
| Target Milestone: | 2.6.2 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Dean Hiller
oh, and I have seen this happen before as well. for instance when you take away the library.config file, internally to BIRT, there is a FileNotFoundException but because BIRT swallowed it and never threw that back to us either, then the result was parameter account is null and it took 12 hours to debug. THROW the exceptions to the application and get rid of all try...catch blocks or in every catch block REthrow a new exception chaining it to the old one.....PLEASE!!! BIRT provides two error modes: 1. Continue mode, the task will continue even there are some exceptions. The exceptions are saved into a internal error list and the user can check the errors after the task finished. It is useful to debug the report design. Actually it is the mode used in preview. 2. Cancel model, the task will stopped and throw out the exception. You can use IEngineTask.setErrorHandlingOption( int option ) to control the error mode. At the same time, BIRT still need to be enhanced in your case as the first error should be some ClassNotFoundException or something else which is more meaningful to the user. We cannot terminate the whole report generation because of a minor exception. 1) You can use IEngineTask.getErrors() to check the error list. The error list records the exceptions in sequence. 2) Or you can try the Cancel model to help debugging. If these doesn't fit your need, please reopen the bug and upload the steps to reproduce the issue. It will help us to locate the bug. |