runtimeexception(列出至少5个最常见到的runtime exception并描述在什么情况下出现)
本文目录
- 列出至少5个最常见到的runtime exception并描述在什么情况下出现
- RuntimeException异常和普通异常的区别
- 例举5个你最常见到的runtime exception并加以说明
- JAVA中常见的几种RuntimeException
- 请问runtimeexception说是运行时异常 可以不进行处理 那么不处理程序又是怎么继续运行的呢
- 什么是runtimeException
- 如何抛出runtimeexception
- Java自定义异常,应该继承Exception还是Runtime Exception
列出至少5个最常见到的runtime exception并描述在什么情况下出现
public ArithmeticException(String s)构造具有指定详细消息的 ArithmeticExceptionpublic class AnnotationTypeMismatchExceptionextends RuntimeException若某个注释的类型在对该注释进行编译(或序列化)后发生了更改,而程序试图访问该注释的元素时,抛出此异常。public class CannotRedoExceptionextends RuntimeException当 UndoableEdit 被通知 redo() 但无法执行时抛出。public class CannotUndoExceptionextends RuntimeException当 UndoableEdit 被通知 undo() 但无法执行时抛出。public class EventExceptionextends RuntimeException事件操作可以像在其方法描述中指定的那样抛出 EventException。
RuntimeException异常和普通异常的区别
一个运行时异常,一个普通异常,关键区别是因为系统处理的方式不同。
Exception 属于应用程序级别的异常,这类异常必须捕捉,Exception体系包括RuntimeException体系和其他非RuntimeException的体系
RuntimeException 表示系统异常,比较严重,如果出现RuntimeException,那么一定是程序员的错误
例子自己去写。
例举5个你最常见到的runtime exception并加以说明
RuntimeException是java中所有运行时异常的父类,实际运行时出现的都是它的子类,看看RuntimeException的Java doc就可以随便列出几个:1,Object x = new Integer(0); System.out.println((String)x);当试图将对象强制转换为不是实例的子类时,抛出该异常(ClassCastException)2,int a=5/0;一个整数“除以零”时,抛出ArithmeticException异常。3, String s=null;int size=s.size();当应用程序试图在需要对象的地方使用 null 时,抛出NullPointerException异常4, "hello".indexOf(-1);指示索引或者为负,或者超出字符串的大小,抛出StringIndexOutOfBoundsException异常5,String;如果应用程序试图创建大小为负的数组,则抛出NegativeArraySizeException异常。
JAVA中常见的几种RuntimeException
常见的:ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException, ClassCastException, NullPointerException,UnknownTypeException,IllegalArgumentException,IllegalStateException, IndexOutOfBoundsException,NoSuchElementException,UnknownExceptionAnnotationTypeMismatchException, ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, EnumConstantNotPresentException, EventException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IncompleteAnnotationException, IndexOutOfBoundsException, JMRuntimeException, LSException, MalformedParameterizedTypeException, MirroredTypeException, MirroredTypesException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NoSuchMechanismException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, RejectedExecutionException, SecurityException, SystemException, TypeConstraintException, TypeNotPresentException, UndeclaredThrowableException, UnknownAnnotationValueException, UnknownElementException, UnknownTypeException, UnmodifiableSetException, UnsupportedOperationException, WebServiceException,MonitorSettingException, RuntimeErrorException, RuntimeMBeanException, RuntimeOperationsException,AlreadyConnectedException, CancellationException, CancelledKeyException, ClosedSelectorException, ConnectionPendingException, FormatterClosedException, IllegalBlockingModeException, IllegalComponentStateException, InvalidDnDOperationException, InvalidMarkException, NoConnectionPendingException, NonReadableChannelException, NonWritableChannelException, NotYetBoundException, NotYetConnectedException, OverlappingFileLockException,IllegalCharsetNameException, IllegalFormatException, IllegalSelectorException, IllegalThreadStateException, InvalidKeyException, InvalidOpenTypeException, InvalidParameterException, KeyAlreadyExistsException, NumberFormatException, PatternSyntaxException, UnresolvedAddressException, UnsupportedAddressTypeException, UnsupportedCharsetException, UnknownException
请问runtimeexception说是运行时异常 可以不进行处理 那么不处理程序又是怎么继续运行的呢
RuntimeException是运行时异常,表示你的代码本身存在BUG.不是编译错误,所以可以运行.应该是逻辑上的错误,比如数组下标越界,等等. 一定要处理
runtime exception说是运行时异常 可以不进行处理 背后的意思是 调用者(用户)传值的错误 这个时候 让程序停下来并且一般来说给一个错误声明就可以了比如程序需要一个正数 用户传递了一个 负数 这个时候没有必要让程序进行下去了 所以我们不进行处理 处理分两种 throw和try catch不进行throws原因(因为thows是抛出给调用者(调用该方法的人)进行处理,调用该方法的人还可以继续throw 或者是try catch)当然也不进行try catch
什么是runtimeException
RuntimeException那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。
模型:理论上异常处理划分为两个模型(中止模型与继续模型),但实际使用方面我们对中止模型用的比较多,这个模型比较实用,而继续模型则不是那么的应用普遍,多少是耦合的过于紧密。
Exception 机制:
早期的C语言的异常处理机制,通常是我们人为的对返回结果加一些标志来进行判定,比如发生错误返回什么标志,正常情况下我们又是返回什么标记,而这些都不是语言本身所赋予我们的,这种机制的问题在于。
C语言的异常处理机制全是我们人为的定义,这样就会造成业务逻辑的主线受到异常处理的牵制,或者说是我们难免会将注意力转移,并且造成业务逻辑与异常处理之间有很大程度上的缠绕。
如何抛出runtimeexception
这是java的默认配置。当你把一个异常定义在方法的throws定义中,你就可以不处理这个异常,系统会自动把该异常抛出。 而RuntimeException则是java设计中所有方法都默认定义在throws中了,所以只要你不捕获,就会一层一层的往上抛出。除非你显示的标准要捕获它。否则不会被捕获。也不会造成编译异常。其实大部分的RuntimeException,要么是系统异常。无法处理。例如网络问题。要么就是应该在UT中发现的,例如空指针异常。
Java自定义异常,应该继承Exception还是Runtime Exception
首先如下图所示
runtimeException 是 exception标准类型子类,在java中被成为未经检查的异常。如果需要定义未检查异常可以选择继承runtimeException 否则继承exception
更多文章:
notepad2替换记事本(notepad2替代win记事本后打开文件为乱码怎么办)
2024年6月22日 08:45
android root(Android 手机如何获得 root 权限)
2024年5月21日 19:19
苹果手机怎么导入新手机(iphone怎么传输到新iphone)
2024年6月30日 18:48
诺基亚lumia fx800(amd 的fx-6300 需要双通道吗 没有双通道会流畅吗)
2024年8月9日 23:25
华为手机9508怎么恢复出厂设置?三星9508和9500 哪个好
2024年6月1日 07:09
苹果5s怎么注册新id(苹果5s怎么创建apple id账户)
2024年7月3日 19:44