|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.journaldev.exceptions; import java.io.IOException; public class MyException extends IOException { private static final long serialVersionUID = 4664456874499611218L; private String errorCode= "Unknown_Exception" ; public MyException(String message, String errorCode){ super (message); this .errorCode=errorCode; } public String getErrorCode(){ return this .errorCode; } } |
9.
在
Java
中什么是内存不足错误?
答:在
Java
中,
OutOfMemoryError
是 java.lang.VirtualMachineError
的一个子类,当堆内存耗尽时会被
JVM
抛出。我们能通过设置
Java
选项来提供更大的内存供应用使用来达到修复的目的。
1 | $>java MyProgram -Xms1024m -Xmx1024m -XX:PermSize=64M -XX:MaxPermSize=256m |
10.
引发
Exception in thread main
的各种不同情形?
答:通常的一些主线程异常情形主要有以下几种:
Exception in thread main java.lang.UnsupportedClassVersionError:
当编译和运行
Java
类的
JDK
版本不同的时出现这种异常。
Exception in thread main java.lang.NoClassDefFoundError:
这种异常出现的原因有两种:第一种是提供类全名时附带有
.class
;第二种是指定类未找到。
Exception in thread main java.lang.NoSuchMethodError: main:
当试图运行一个没
main
方法的类时会出现这种异常。
Exception in thread main java.lang.NoSuchMethodError: main:
无论何时
main
方法任何异常,它打印异常到控制台。其第一部分是陈述
main
方法抛出的异常,第二部分打印异常类名,后接异常类信息。
想了解更多这方面的内容,请猛点这里。
11
.
Java
中
final,finally,finalize
的区别?
答:
final
和
finally
在
Java
中是关键字,而
finalize
则是一个方法。
final
关键字使得类变量不可变,避免类被其它类继承或方法被重写。
finally
跟
try-catch
块一起使用,即使是出现了异常,其子句总会被执行,通常,
finally
子句用来关闭相关资源。
finally
方法中的对象被销毁之前会被垃圾回收。
综上三者,只有
finally
用于异常处理。
12.
在
main
方法抛出异常时发生了什么?
答:当
main
方法抛出异常时,
Java
运行时间终止并在控制台打印异常信息和栈轨迹。
13.catch
子句能为空吗?
答:可以有空的
catch
子句,但那是最糟糕的编程,因为那样的话,异常即使被捕获,我们也得不到任何的有用信息,对于调试来说会是个噩梦,因此,编程时永远不要有空的
catch
子句。
Catch
子句中至少要包含一个日志语句输出到控制台或保存到日志文件中。
|
来自: icecity1306 > 《开发资料》