mirror of
https://github.com/corda/corda.git
synced 2025-06-17 06:38:21 +00:00
intercept SIGSEGV and throw NullPointerExceptions
This commit is contained in:
92
test/NullPointer.java
Normal file
92
test/NullPointer.java
Normal file
@ -0,0 +1,92 @@
|
||||
public class NullPointer {
|
||||
private int x;
|
||||
private Object y;
|
||||
|
||||
public static void main(String[] args) {
|
||||
// invokeinterface
|
||||
try {
|
||||
((Runnable) null).run();
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// invokevirtual
|
||||
try {
|
||||
((Object) null).toString();
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// arraylength
|
||||
try {
|
||||
int a = ((byte[]) null).length;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// iaload
|
||||
try {
|
||||
int a = ((byte[]) null)[42];
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// aaload
|
||||
try {
|
||||
Object a = ((Object[]) null)[42];
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// getfield (int)
|
||||
try {
|
||||
int a = ((NullPointer) null).x;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// getfield (Object)
|
||||
try {
|
||||
Object a = ((NullPointer) null).y;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// iastore
|
||||
try {
|
||||
((byte[]) null)[42] = 42;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// aastore
|
||||
try {
|
||||
((Object[]) null)[42] = null;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// putfield (int)
|
||||
try {
|
||||
((NullPointer) null).x = 42;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// putfield (Object)
|
||||
try {
|
||||
((NullPointer) null).y = null;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// monitorenter
|
||||
try {
|
||||
synchronized ((Object) null) {
|
||||
int a = 42;
|
||||
}
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user