1
60
|
2
15
它应该从被调用的方法捕获异常,如果:
|
3
12
抛出:
试一试:
我知道很多人总是使用投掷,因为它更干净,但就是没有太多的控制。 |
4
9
注意:此回复现在是一个社区wiki,请随时添加更多信息。 |
5
3
向方法中添加try-catch或throws子句的决定取决于“您希望(或必须)如何处理您的异常”。 如何处理一个异常是一个广泛的、远不是琐碎的问题。它特别涉及到在哪里处理异常以及在catch块中实现什么操作的决策。事实上,如何处理异常应该是一个全局的设计决策。 所以回答你的问题,没有经验法则。
|
6
2
如果引发异常的方法有足够的信息来处理它,那么它应该捕获、生成关于发生了什么以及正在处理什么数据的有用信息。 |
7
1
请注意,虽然Java将允许通过声明为抛出适当类型的异常的方法触发已检查的异常,但这种用法通常应被视为反模式。例如,想象一下,某个方法
如果异常对方法调用方的意义与对被调用方法的意义相同,则调用方可能希望处理的异常(基本上包括所有已检查的异常)只能通过方法渗透。如果代码调用的方法被声明为抛出某个选中的异常,但调用方并不期望它在实际中抛出该异常(例如,因为它认为它是预验证的方法参数),那么选中的异常应该被捕获并包装在某个未选中的异常类型中。如果调用者不期望抛出异常,那么调用者就不能期望它有任何特定的含义。 |
8
1
没有硬性规定。
但是作为开发人员,Checked异常必须包含在方法的throws子句中。这对于编译器知道要检查哪些异常是必要的。
按照惯例,未经检查的例外情况不应包含在throws子句中。
资料来源:凯西·塞拉的SCJP 6书 |
9
1
我给你简单点。 当您认为被调用方法中的功能可能导致某些异常时,请使用try catch block(处理被调用方法中的异常) |
10
0
如果使用try-catch,当异常发生时,剩余的代码仍将执行。 如果您指定抛出异常的方法,那么当异常发生时,代码将立即停止执行。 |
11
0
try-catch pair在您希望提供定制行为时使用,以防出现异常…..换句话说…您可以根据您的程序要求解决您的问题(异常发生)。。。。。 但是,当您没有任何关于异常发生情况的具体解决方案时,就会使用throws…您只是不希望程序异常终止。。。。 希望是正确的:-) |
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
juztcode · 在C++中尝试捕获-创建了多少个对象 6 年前 |
Novic · 结果不明确时如何使用tryCatch 6 年前 |
Jacob Nelson · 多次尝试表达式,直到在R中成功 6 年前 |
Mert Yücel · 如何在布尔方法中引发三个异常? 6 年前 |
Jatt · 捕获从setInterval内部引发的异常 6 年前 |