Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
applications:custom_errorhandling [2019/08/06 13:00] admin |
applications:custom_errorhandling [2019/08/06 13:04] admin |
||
---|---|---|---|
Line 13: | Line 13: | ||
</file> | </file> | ||
- | All Exceptions will be handled in one method: | + | All Exceptions will be handled in the listener method: |
<file java> | <file java> | ||
Line 20: | Line 20: | ||
</file> | </file> | ||
- | So, it's very easy to change the default error handling. The default error handling shows a popup dialog with the error message and some details (stack trace). | + | So, it's very easy to change the default error handling which shows a popup dialog with the error message and some details (stack trace). |
- | As example, we'll show the exceptions directly in the work-screens. So, every work-screen should be able to show error messages. To make this possible, we introduce the following interface: | + | As an example of a custom error handling, we'll show the exceptions directly in the work-screens. So, every work-screen should be able to show error messages. To make this possible, we introduce the following interface: |
<file java> | <file java> | ||
Line 30: | Line 30: | ||
} | } | ||
</file> | </file> | ||
- | and all our work-screens should implement it like this example: | + | and all our work-screens should implement the interface, e.g.: |
<file java> | <file java> | ||
Line 62: | Line 62: | ||
</file> | </file> | ||
- | So, our work-screen example contains a new label in the SOUTH area (the bottom of the screen). The label will be hidden initially in **onLoad()**. Our screen is now ready to show error messages, but our application must be changed. To do this, we need a [[vaadin:customize_application|custom application]]. | + | So, our work-screen example contains a new label in the SOUTH area (the bottom of the screen). The label will be hidden initially in **onLoad()**. \\ |
+ | Our screen is now ready to show error messages, but our application must be changed. To do this, we need a [[vaadin:customize_application|custom application]]. | ||
Our application contains following code: | Our application contains following code: | ||
Line 104: | Line 105: | ||
} | } | ||
</file> | </file> | ||
- | We collect all occurred Exceptions and show one message at the end. We iterate through all opened work-screens and check if the interface is implemented. In our example, every work-screen has to implement the interface IErrorHandler. A better solution would be a custom work-screen base class, e.g. | + | We collect all occurred Exceptions in a list - **liErrors** - and show one message at the end, see **showErrorMessages**. \\ |
+ | \\ | ||
+ | In showErrorMessages, we iterate through all opened work-screens and check if the interface is implemented. In our example, every work-screen has to implement the interface IErrorHandler. A better solution would be a custom work-screen base class, e.g. | ||
<file java> | <file java> |