It's something I do not understand
The first example:
< P> Example 1 (GOOD): Public static zero main (string array []) {try {exception e = null; Throw e } Hold (Exception E) {}
Everything is fine with ths code - The exception is thrown and caught. Example 2 (BAD):
Public static zero main (string arguments []) {try {exception e = faucet; Throw e } Hold (NullPointerException E) {}}
It will not be compiled because Cache Block NullPointerException
can not hold which
java.lang.Object java.lang.Throwable java.lang.Exception - & gt; Thrown java.lang.RuntimeException java.lang.NullPointerException - & gt;
If this can not happen, let us change the exception to NullPointerException
:
Example 3 (GOOD)
< Pre> public static zero main (string array []) {try {NullPointerException e = null; Throw e (NullPointerException E) {}
Simple and logical, but here's really funny:
Example 4 (good) - Do not know why ?: < / P>
public static zero main (string array []) {try {error e = null; Throw e } Hold (NullPointerException E) {} <}
If I enter error
, how can I capture NullPointerException
? It does not make any sense.
There is:
Throwshell: error, exception
both error
and exceptions
sub- There is nothing with the class of code> throwable , but NullPoinTerException
with error
, this is an exception
, no Error
.
You are trying to throw a blank object, which fails, and Null pointer exception
is to be thrown instead.
You should throw a new exception;
Just to clarify if you were asking why your second example does not compile, while the fourth example is:
Error and its sub-classes are uncontrolled There are exceptions, which can be triggered by any throws
Uncheck exception class are run-time exception categories and error squares .
()
This is the reason that you can throw error
and hold exception
And compile the code.
On the other hand, in your second example, you are trying to throw a check exception ( exception
) and hold a NullPointerException
, Which is not a super-class of exception
. This is the reason that unless you hold down the exception
or your main method throws an exception
.
Comments
Post a Comment