This class will capture the root cause (last in a chain of causes) Throwable
and report
the exception type, class name, method name and thread name.
This class will attempt to report a class and method name that is relevant to the
application if at all possible. It does this by finding the root cause Throwable
, then
checking each StackTraceElement
for a class that is in a package list created by
setIncludedPackages(Context, Collection)
, starting with the first StackTraceElement
.
The String
returned by
getDescription(String, Throwable)
will take the form Exception
class(@classname:methodname){threadname}.
See
getBestStackTraceElement(Throwable)
and
setIncludedPackages(Context, Collection)
for details.
Public Constructor Summary
Public Method Summary
String |
getDescription(String threadName,
Throwable t)
Return a short description of a
Throwable
suitable for reporting to Google Analytics.
|
void |
setIncludedPackages(Context
context, Collection<String>
additionalPackages)
Sets the list of packages considered relevant to the list of packages in the
Context
and the list of packages provided in the input parameter
additionalPackages .
|
Protected Method Summary
StackTraceElement |
getBestStackTraceElement(Throwable t)
Return the first
StackTraceElement
found that has a className in any packageName found in
includedPackages .
|
Throwable | |
String |
Inherited Method Summary
Public Constructors
public StandardExceptionParser (Context context, Collection<String> additionalPackages)
Public Methods
public void setIncludedPackages (Context context, Collection<String> additionalPackages)
Sets the list of packages considered relevant to the list of packages in the
Context
and
the list of packages provided in the input parameter additionalPackages
.
Either parameter can be null.
Any package names stored from a previous call to this method will be cleared.
Parameters
context | any Context
for the application |
---|---|
additionalPackages | a collection of additional package names to add |
Protected Methods
protected StackTraceElement getBestStackTraceElement (Throwable t)
Return the first StackTraceElement
found that has a className in any packageName found in includedPackages
.
If none have a className in any packageName found in includedPackages
,
return the first StackTraceElement
found. If the Throwable
does
not contain any StackTraceElement
s,
return null.