既然Java已经有了健全的异常处机制(有很多类),为什么还要继承现有的异常,自定义自己的异常类呢??
再说了,就算自定义了一个新的异常,又能怎么样。
8 个解决方案
#1
Windows 系统还定义了几千个错误代码呢,意义何在?调用 API 难道不是只需要知道成功或失败就行了吗?好,那你现在打开一个文件,失败。失败了,那你怎么解决"打开失败"这个问题?就像错误代码,作用和异常一样。有些时候,我们的确不需要太关心失败信息,只需捕获一个 Exception 就行了。但有时我们的确得知道文件打不开究竟是什么原因?比如文件不存在了,或者读取权限不足了等等。有些甚至需要更详细的信息,以便各种错误代码下:1. 如何给打印出对应的友好日志信息。2. 如何根据不同错误代码解决问题。
#2
可是这些Exceptin不都是现成的吗,而且就算你继承了,不也只是改写以下构造方法,改变一下程序Crash时输出的结果吗?
#3
按你的意思,一个 Exception 就能走遍天下
那是不是 NullPointerException、ArrayIndexOutOfBoundsException、IOException、... 之类的全都可以不要,
它们也都只是继承 Exception 换个错误消息模板而已
用的时候, 只要 new Exception(“不同消息”) 就行了。
那是不是 NullPointerException、ArrayIndexOutOfBoundsException、IOException、... 之类的全都可以不要,
它们也都只是继承 Exception 换个错误消息模板而已
用的时候, 只要 new Exception(“不同消息”) 就行了。
#4
如果你不把 exception 分门别类, 把不同业务场景产生的异常, 定义成不同的类型
try {
// ...
} catch(Exception e) {
// 这里该如何对不同的异常做不同的处理错误,
// 分析 e.getMessage() 的消息格式吗来决定处理方式吗?
// ...
}
#5
根据自己的需求,出现异常的时候,做特殊的处理。。。不然就得在里面做区分。。。
#6
杀鸡用牛刀是不合理的
#7
初学者可以不考虑这个问题
#8
异常分类,业务中不同场景抛出不同异常,便于统一捕获并根据类型做进一步处理
#1
Windows 系统还定义了几千个错误代码呢,意义何在?调用 API 难道不是只需要知道成功或失败就行了吗?好,那你现在打开一个文件,失败。失败了,那你怎么解决"打开失败"这个问题?就像错误代码,作用和异常一样。有些时候,我们的确不需要太关心失败信息,只需捕获一个 Exception 就行了。但有时我们的确得知道文件打不开究竟是什么原因?比如文件不存在了,或者读取权限不足了等等。有些甚至需要更详细的信息,以便各种错误代码下:1. 如何给打印出对应的友好日志信息。2. 如何根据不同错误代码解决问题。
#2
可是这些Exceptin不都是现成的吗,而且就算你继承了,不也只是改写以下构造方法,改变一下程序Crash时输出的结果吗?
#3
按你的意思,一个 Exception 就能走遍天下
那是不是 NullPointerException、ArrayIndexOutOfBoundsException、IOException、... 之类的全都可以不要,
它们也都只是继承 Exception 换个错误消息模板而已
用的时候, 只要 new Exception(“不同消息”) 就行了。
那是不是 NullPointerException、ArrayIndexOutOfBoundsException、IOException、... 之类的全都可以不要,
它们也都只是继承 Exception 换个错误消息模板而已
用的时候, 只要 new Exception(“不同消息”) 就行了。
#4
如果你不把 exception 分门别类, 把不同业务场景产生的异常, 定义成不同的类型
try {
// ...
} catch(Exception e) {
// 这里该如何对不同的异常做不同的处理错误,
// 分析 e.getMessage() 的消息格式吗来决定处理方式吗?
// ...
}
#5
根据自己的需求,出现异常的时候,做特殊的处理。。。不然就得在里面做区分。。。
#6
杀鸡用牛刀是不合理的
#7
初学者可以不考虑这个问题
#8
异常分类,业务中不同场景抛出不同异常,便于统一捕获并根据类型做进一步处理