[
https://issues.apache.org/jira/browse/BSF-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15952495#comment-15952495
]
Sebb commented on BSF-44:
-------------------------
It looks odd to create an exception without throwing it, but the comment
explains it fully.
An exception is just another class, and can be instantiated just like "new
SomeObject()"
If the SomeObject class is not present at runtime, the JVM throws a
NoClassDefFoundError.
One might ask why the BadArgumentException class was chosen to check whether
the NetRexx dependency is present.
Perhaps because Exception classes tend to be small?
> Un-thrown exception
> -------------------
>
> Key: BSF-44
> URL: https://issues.apache.org/jira/browse/BSF-44
> Project: Commons BSF
> Issue Type: Bug
> Reporter: JC
> Assignee: Rony G. Flatscher
> Priority: Trivial
>
> There is an un-thrown exception (BadArgumentException) in
> src/main/java/org/apache/bsf/engines/netrexx/NetRexxEngine.java (found from
> the current snapshot, f8eeaf2f8dd69e49b094b16b5c4d660c40f6be74). I have no
> idea if it is intended to do so. But thought it could be worth to report in
> case.
> {code}
> 128 public NetRexxEngine ()
> 129 {
> 130 // handle logger
> 131 logger = BSF_LogFactory.getLog(this.getClass().getName());
> 132 /*
> 133 The following line is intended to cause the constructor to
> 134 throw a NoClassDefFoundError if the NetRexxC.zip dependency
> 135 is not resolved.
> 136
> 137 If this line was not here, the problem would not surface until
> 138 the actual processing of a script. We want to know all is well
> 139 at the time the engine is instantiated, not when we attempt to
> 140 process a script.
> 141 */
> 142
> 143 new netrexx.lang.BadArgumentException();
> 144 }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)