Java处理异常的方法有哪些

技术Java处理异常的方法有哪些这篇文章主要讲解了“Java处理异常的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java处理异常的方法有哪些”吧!  一、异

本文主要讲解“Java的异常处理方法有哪些”,文中的讲解内容简单明了,易学易懂。请跟随边肖的思路,学习学习“Java的异常处理方法有哪些”!

首先,异常的分类。

Throwable是所有异常的超类,下一级可以分为Error和exception:

1.错误

Error指的是Java运行时系统的内部错误,或者说它代表了JVM本身的错误,通常是比较严重的错误,比如内存溢出、虚拟机错误等等。错误通常与硬件或JVM有关,但与程序本身无关,因此无法被代码捕获和处理。

2.例外

我们经常提到异常,异常可以分为运行时异常和检查异常。

RuntimeException:运行时异常,在编译时不强制捕获代码,但在JVM运行时可能会抛出异常;这种异常通常是代码问题,因此需要修改程序来避免这种异常。常见的运行时异常,如NullPointerException、ClassCastException等。

CheckedException:检查异常,异常发生在编译阶段,Java编译器会强制代码捕获并处理此类异常;例如ClassNotFoundException、IllegalAccessException等等。

第二,异常处理方法。

使用尝试.捕捉异常。

语句,将可能有异常的代码放入try {.},然后使用catch捕获相应的异常;我们还可以在代码块中使用Throw,向上级代码抛出异常;在方法中使用throws关键字向上级代码引发异常;

第三,投掷和抛投的区别。

Throw在方法内部,后跟一个异常对象;在方法上使用Throws,后面是异常类;

Throw将抛出一个特定的异常对象,当它被执行抛出时,方法中的代码将被执行。抛出用于声明异常,提醒调用方这个方法可能有这样的异常,所以请做好处理的准备,但是可能不会有任何异常。

第四,关于使用异常的一些建议。

1.

不要试图通过异常来控制程序流,比如开发一个接口。正确的方法是验证输入参数,当参数为空时返回“参数不允许为空”,而不是在捕捉到空指针时返回错误提示。

2.

只捕获必要的代码,不要试图用一个大的部分甚至整个方法包装所有的代码.catch,因为这会影响JVM对代码的优化,这会带来额外的性能开销。

3.

许多程序员喜欢catch(Exception e),事实上,他们应该确切地指出异常是什么。

4.

不要忽略异常。捕捉到异常后,千万不要什么都不做,也不要在catch中输出异常信息.},或者通过throw或Throw抛出异常,以便上层代码处理。

5.

在catch{中输出异常后,尽量不要向上层代码抛出异常.},因为这将输出多条异常信息,而且它们是相同的,这可能会产生误导。

6.

不要在最后写回信.},因为尝试{.}最终执行{.}在执行返回之前。如果最终有回报.},返回到try{.}将不再执行。

感谢您的阅读。以上就是“Java处理异常的方法有哪些”的内容。学习完这篇文章,相信你对Java处理异常的方法有了更深的理解。具体用法需要实践验证。在这里,边肖将为大家推送更多相关知识点的文章。欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/57102.html

(0)

相关推荐

  • c语言中主要有几种循环语句(c语言循环语句基础知识)

    技术怎么深入了解c语言的循环语句怎么深入了解c语言的循环语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C语言循环语句大多数人都希望自己是体格强健,天

    攻略 2021年12月14日
  • 怎么处理HDFS问题

    技术怎么处理HDFS问题这篇文章主要介绍“怎么处理HDFS问题”,在日常操作中,相信很多人在怎么处理HDFS问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么处理HDFS问题”的疑惑有

    攻略 2021年10月28日
  • list结构

    技术list结构 list结构list结构
    list1 = ['i1', 'i2', 'i3', 'i4', 'i5']print(list1)
    print(list1[2]) # 通过索引来访问列表

    礼包 2021年12月9日
  • linux 中grep命令依据匹配次数进行查找

    技术linux 中grep命令依据匹配次数进行查找 linux 中grep命令依据匹配次数进行查找1、x\{m\}# 重复字符x,m次,如:'0{5}'匹配包含5个o的行。
    x\{m,\} # 重复字符

    礼包 2021年12月14日
  • mysql中动态语句编写的引号怎么用

    技术mysql中动态语句编写的引号怎么用这篇文章主要为大家展示了“mysql中动态语句编写的引号怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中动态语句编写的

    攻略 2021年11月2日
  • c++语言(c++代码)

    技术C++ Date类的实现方法有哪些本篇内容主要讲解“C++ Date类的实现方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ Date类的实现方法有哪些”吧

    攻略 2021年12月14日