「java吞错误」java 错误处理

博主:adminadmin 2022-11-30 15:34:08 60

今天给各位分享java吞错误的知识,其中也会对java 错误处理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 程序运行常报的错误

HTTP

1xx - 信息提示

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ? 100 - 继续。

? 101 - 切换协议。

2xx - 成功

这类状态代码表明服务器成功地接受了客户端请求。

? 200 - 确定。客户端请求已成功。

? 201 - 已创建。

? 202 - 已接受。

? 203 - 非权威性信息。

? 204 - 无内容。

? 205 - 重置内容。

? 206 - 部分内容。

3xx - 重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 ? 302 - 对象已移动。

? 304 - 未修改。

? 307 - 临时重定向。

4xx - 客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 ? 400 - 错误的请求。

? 401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: ? 401.1 - 登录失败。

? 401.2 - 服务器配置导致登录失败。

? 401.3 - 由于 ACL 对资源的限制而未获得授权。

? 401.4 - 筛选器授权失败。

? 401.5 - ISAPI/CGI 应用程序授权失败。

? 401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。

? 403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: ? 403.1 - 执行访问被禁止。

? 403.2 - 读访问被禁止。

? 403.3 - 写访问被禁止。

? 403.4 - 要求 SSL。

? 403.5 - 要求 SSL 128。

? 403.6 - IP 地址被拒绝。

? 403.7 - 要求客户端证书。

? 403.8 - 站点访问被拒绝。

? 403.9 - 用户数过多。

? 403.10 - 配置无效。

? 403.11 - 密码更改。

? 403.12 - 拒绝访问映射表。

? 403.13 - 客户端证书被吊销。

? 403.14 - 拒绝目录列表。

? 403.15 - 超出客户端访问许可。

? 403.16 - 客户端证书不受信任或无效。

? 403.17 - 客户端证书已过期或尚未生效。

? 403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。

? 403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。

? 403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。

? 404 - 未找到。 ? 404.0 -(无) – 没有找到文件或目录。

? 404.1 - 无法在所请求的端口上访问 Web 站点。

? 404.2 - Web 服务扩展锁定策略阻止本请求。

? 404.3 - MIME 映射策略阻止本请求。

? 405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)

? 406 - 客户端浏览器不接受所请求页面的 MIME 类型。

? 407 - 要求进行代理身份验证。

? 412 - 前提条件失败。

? 413 – 请求实体太大。

? 414 - 请求 URI 太长。

? 415 – 不支持的媒体类型。

? 416 – 所请求的范围无法满足。

? 417 – 执行失败。

? 423 – 锁定的错误。

5xx - 服务器错误

服务器由于遇到错误而不能完成该请求。 ? 500 - 内部服务器错误。 ? 500.12 - 应用程序正忙于在 Web 服务器上重新启动。

? 500.13 - Web 服务器太忙。

? 500.15 - 不允许直接请求 Global.asa。

? 500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。

? 500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。

? 500.100 - 内部 ASP 错误。

? 501 - 页眉值指定了未实现的配置。

? 502 - Web 服务器用作网关或代理服务器时收到了无效响应。 ? 502.1 - CGI 应用程序超时。

? 502.2 - CGI 应用程序出错。application.

? 503 - 服务不可用。这个错误代码为 IIS 6.0 所专用。

? 504 - 网关超时。

? 505 - HTTP 版本不受支持。

java 程序中的三种错误类型分别是什么?

程序中可能有三种错误:语法错误;运行时错误;语义错误。

一、语句的语法必须是正确的,才能被计算机控制。否则,将中断执行进程,并返回错误消息。语法是指程序语句的组成。遵守语言规则。例如,下列语句在语法上是正确的: ,a = b - c。

二、它的意思是把b-c赋给变量a,如果你把这个表达式写成“b-c =。”A“在这种形式中,它是错误的,因为它不符合语法,而表达“b-c”是行不通的。

三、这需要百分之百的准确性。这是一个错误,并且不可能执行您的程序。语法错误更容易找到。

和消除。当你开始学习编程时,你需要熟悉语法和语法错误。可能会有很多错误,随着经验的增长,它会减少一点,即使它会减少,你也可以。找到并改正它们。

四、底部是由人类为我们使用的工具设计的。这是电视和汽车的本质。它是一样的。限于目前计算机硬件和软件的理论水平,工业生产用水。甚至是用户的水平等等一些内部的外部因素,你认为,它不能。不对吗?程序越复杂,出现异常的可能性就越大。有许多类型的异常,例如内存。

五、任何零的除法都有可能引起异常。特殊的异常是用Python设计的。减少错误的影响。即使存在语义错误,程序也可以正常运行,并且不会出现错误。信息,但结果与我们预期的大不相同。然后程序做了别的事情。

玩Minecraft点启动游戏出现java错误怎么办!

JAVA路径错误,在启动器里选中JAVA路径,然后更改你的JAVA或JAVAW的路径就可以了。最好再把游戏内存改为512。

java中错误(error)和异常(exception)有什么主要区别?

1.如图Exception 和 Error都继承自Throwable类,由jdk api文档中对该类的描述可以知道它是异常处理机制的基本组成类型。可以由虚拟机抛出或者编码者自行抛出(throw)

jdk8中文发翻译Throwable类的描述:Throwable类是Java语言中所有错误和异常的Throwable类。 只有作为此类(或其一个子类)的实例的对象由Java虚拟机抛出,或者可以由Java throw语句抛出。 类似地,只有这个类或其子类可以是catch子句中的参数类型。

2.Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

3.Error 是指在正常情况下,不大可能出现的情况,绝大部分的 Error 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如 OutOfMemoryError 之类,都是 Error 的子类。

4.Exception 又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源代码里必须显式地进行捕获处理,这是编译期检查的一部分。前面我介绍的不可查的 Error,是 Throwable 不是 Exception。

如何处理这些异常?

在现实编程中我们一般使用 try-with-resources 和 multiple catch来进行一些异常处理(便利的特性),在编译时期,会自动生成相应的处理逻辑,比如,自动按照约定俗成 close 那些扩展了 AutoCloseable 或者 Closeable 的对象。

try-with-resources 是一种处理Closeable实现类关闭资源的一种写法,简单写了一个例子可以发现其实这就是一中语法,这种语法可以自动编译帮忙编译最后关闭流的操作:

public static void main(String[] args) {

try (BufferedReader br = new BufferedReader(new FileReader("a"));

BufferedWriter writer = new BufferedWriter(new FileWriter("a"))) {

// Try-with-resources

} catch (IOException e) {// Multiple catch

// Handle it

}

}

编译后class

public static void main(String[] args) {        try {

BufferedReader br = new BufferedReader(new FileReader("a"));

Throwable var2 = null;            try {

BufferedWriter writer = new BufferedWriter(new FileWriter("a"));

Object var4 = null;                if (writer != null) {                    if (var4 != null) {                        try {

writer.close();

} catch (Throwable var15) {

((Throwable)var4).addSuppressed(var15);

}

} else {

writer.close();

}

}

} catch (Throwable var16) {

var2 = var16;                throw var16;

} finally {                if (br != null) {                    if (var2 != null) {                        try {

br.close();

} catch (Throwable var14) {

var2.addSuppressed(var14);

}

} else {

br.close();

}

}

}

} catch (IOException var18) {

;

}

}

异常处理的两个基本原则

尽量不要捕获类似 Exception 这样的通用异常,而是应该捕获特定异常

这是因为在日常的开发和合作中,我们读代码的机会往往超过写代码,软件工程是门协作的艺术,所以我们有义务让自己的代码能够直观地体现出尽量多的信息,而泛泛的 Exception 之类,恰恰隐藏了我们的目的。另外,我们也要保证程序不会捕获到我们不希望捕获的异常。比如,你可能更希望 RuntimeException 被扩散出来,而不是被捕获。

不要生吞(swallow)异常。这是异常处理中要特别注意的事情,因为很可能会导致非常难以诊断的诡异情况。

如果我们不把异常抛出来,或者也没有输出到日志(Logger)之类,程序可能在后续代码以不可控的方式结束。没人能够轻易判断究竟是哪里抛出了异常,以及是什么原因产生了异常。

在写程序时可以通过Objects类(jdk提供),或者断言等提前判断问题,如空指针异常的一些值的处理Objects. requireNonNull(filename);而不是使用之后有问题再系统抛出异常,这可能就会不直观的找到问题所在。即:Throw early, catch late 原则

希望对您有所帮助!~

关于java吞错误和java 错误处理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。