Java int 越界问题 java越界错误_Java int 越界问题

异常出现的原因

1.用户输入错误:用户在需要填入数据的时候,将不符合要求的数据进行添加。例如需要输入一个整型的数据,而用户却输入了一个字符串类型的数据。此时就应当提示用户输入的格式错误,并返回界面重新输入。
2.代码本身错误:进行数据运算时,数据的长度引起的错误,或者是数组越界、算法错误、空引用等问题
3.环境因素:磁盘空间或者内存不足所引起的错误。


异常的分类

Error:定义Java运行时的内部错误以及资源耗尽错误。表示很难恢复的错误,例如内存越界。一般不期望用户来进行处理。
RuntimeException:用来表示设计或者实现方面的问题,例如数组越界、类型转换错误、去访问一个没有初始化的对象。在出现这个错误的时候,一般不需要处理,运行的时候,环境会输出一条信息语句,提示用户修正错误。
其他异常:表示是运行的时候因环境因素影响可能发生并可以被处理的问题。例如查找不到文件或者是一个不完整的路径等。因为用户的错误很可能就会导致这类问题的发生。


处理异常

在出现异常的时候,可以直接捕获处理,也可以先不对它进行处理而是把它抛给上面的调用者。

try/catch捕获异常、throws声明异常、throw抛出异常、自定义异常等。


进行异常处理的时候,可能会将抛出异常的代码放置到try块中,然后创建一个catch语句块,catch语句块中有一个异常类型和一个代表这个类型的对象引用。


异常声明就是指一个方法不处理它所产生的异常,而是调用层次向上传递,谁调用的这个方法,这个异常就由谁来进行处理。


Throw语句用在具体方法中抛出异常,它的语法格式如下:
throw exception;
在以上的语句中,throw是关键字,用于抛出异常。参数exception则是表示要抛出的异常对象,该对象应该是throwable类的子类,而且只能够是一个。


两个或者是多个不同的异常出现在同一个程序中,并且会发生嵌套抛出就是异常链,异常链是一个比较抽象的概念。



定义自己的异常

前面介绍了一些Java本身自带的一些异常,但是在某些特定的情况下,还需要自己去创建一个异常类型,创建异常类型只需要继承Throwable类或者是它的子类Exception就可以了。本节中就主要介绍一下如何使用自己定义的异常类。

创建异常的一般形式如语法:

class 类名 extends Exception
 {
   //类体
 }

如何使用自己创建的异常类?