• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】

教程攻略 游戏崩溃?什么是抛出异常?如何解决问题?

zw35426

【Lv:3】

开发者
正式会员
注册
2024/08/20
消息
198
金粒
4,643.77金粒
崩溃报告的本质
其实你看到的报告,是程序根据状况输出的,就像:
内存溢出了,抛出xx异常
程序发现,在日志中写抛出了xx异常,因为xx
这些都是程序输出的,所以理论我也可以这样输出,来表示内存溢出:
你干嘛~~~
什么是异常?
异常是java设定(比如内存溢出时抛出)或者由运行程序设定抛出,如:
throw new NullPointerException();
,throw此关键字表示抛出异常,NullPointerException表示异常类型,一般抛出后java会输出一下字段:
Exception in thread "main" java.lang.NullPointerException(这后面可能会给出原因)
at org.example.Main.main(Main.java:15)
意思:异常在main方法中抛出,异常是NullPointerException(前面的ava.lang是包名(不需要知道)),抛出异常的方法是org.example(路径)中的Main类的main方法,在第15行是抛出异常(就是throw new NullPointerException();的行数)的代码
开发者可自定义抛出异常,不过在一些特殊环境,java也会自动抛出异常
常见异常类型:
NullPointerException 空指针异常,在尝试操作或更改一个不存在的对象时自动抛出
ClassCastException 类型转换异常(如将某个对象转换成非其父类时自动抛出)
NumberFormatException数字转换异常,如尝试将字符转换为数字
ClassNotFoundException 未找到类(一般你不会在日志看到这个异常抛出,因为它必须被显式处理)
FileNotFoundException 未找到文件(一般你不会在日志看到这个异常抛出,因为它必须被显式处理)
日志&&崩溃报告是什么
日志是单次存储从启动服务器到服务器关闭的所有信息
崩溃报告是将一些信息与有关内容整合,崩溃报告只会在服务器非正常关闭时生成
所以可以在找到异常后尝试百度搜索异常,一般自动抛出的异常会给出异常原因,如:Cannot invoke "java.lang.Integer.intValue()" because "a" is null(直接翻译就行)
不过也有可能是自定义异常
 
内容版权许可
CC BY-NC-SA 署名-非商业性使用-相同方式共享

在线会员

  • greapeeeeeee
  • 235697
  • JIOCI
  • 芜湖胡子
  • 天穹
  • kidskint
  • 雾裕酱
  • Creeper_可能c
  • wldck
  • wwwjh
  • 2904435839
  • 林壕
  • 九霄云境
  • 邪神龙哥
  • Mulali
  • Allen_Linong
  • banwang
  • baozi404404
  • 3598524526
  • adlahgerunce224
...和 7 更多。
后退
顶部 底部