我是Java的新手,刚刚遇到了在方法中使用“ Throws”关键字的教程。我对此进行了一些研究,但仍然不太了解。
从我到目前为止所看到的,它告诉编译器在该特定方法中可能抛出某些异常。为什么我们需要告诉编译器呢?我已经在我的方法中仅使用try-
catch语句制作了许多程序,并且效果很好-当然,这些try-catch语句可以管理异常,对吗?
您可以使用和如您所说 在 方法 内 管理异常。在这种情况下,您无需使用。例如:try``catch``throws
public void myMethod()
{
try {
/* Code that might throw an exception */
}
catch (SpaceInvadersException exception) {
/* Complicated error handling code */
}
}
但是,假设您有1000种方法,所有这些方法都可能抛出SpaceInvadersException
。然后,您将不得不编写所有复杂的错误处理代码一千次。当然,你总是可以创建一个ErrorHandler
类与dealWithSpaceInvadersException()
方法,你可以从他们打电话,但你仍然可以用一千卡try
-catch
块。
相反,您告诉编译器这千个方法中的每一个都可能抛出SpaceInvadersException
。然后,任何调用这些方法之一的方法都需要处理错误本身,方法是使用try
-catch
或告诉编译器 它 可能抛出SpaceInvadersException
。使用throws
关键字完成此操作,如下所示:
public void myMethod() throws SpaceInvadersException
{
/* Code that might throw an exception */
}
public void callingMethod()
{
try {
myMethod();
}
catch (SpaceInvadersException exception) {
/* Complicated error handling code */
}
}
在这种情况下,您需要通知编译器myMethod
可能抛出SpaceInvadersException
。这意味着您必须以某种方式(try
-
catch
或throws
在调用方法上使用关键字)处理异常,才能调用该方法。如果throws
不存在,则可以在不进行任何异常处理的情况下调用该方法,并获得程序中任何地方都未处理的异常(这很糟糕)。
由于它始终是更好地避免代码重复,通常最好的手掌掉错误处理的try
-
catch
在一个更高的水平功能比它是在所有的低水平方法分别处理。这就是为什么存在这种机制的原因。
本文向大家介绍什么是React.forwardRef?它有什么作用?相关面试题,主要包含被问及什么是React.forwardRef?它有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 React.forwardRef 会创建一个React组件,这个组件能够将其接受的 ref 属性转发到其组件树下的另一个组件中。这种技术并不常见,但在以下两种场景中特别有用: 转发 refs 到 DOM 组件
本文向大家介绍什么是zoom?它有什么作用?相关面试题,主要包含被问及什么是zoom?它有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 zoom是缩放比例,可以将元素进行缩放。 和css3中的transform:scale() 作用类似. 两者区别在于缩放的参照点不一样,zoom针对元素左上角,scale针对元素正中心
问题内容: 精油 这到底是什么! 编辑:如果可以的话,请您写一两行并说明其工作原理? 问题答案: 试试这个简单的程序,命名为 并尝试执行 注意什么是argv。
本文向大家介绍vue-loader是什么?它有什么作用?相关面试题,主要包含被问及vue-loader是什么?它有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 Vue Loader 是一个 webpack 的 loader,它允许你以一种名为单文件组件 (SFCs)的格式撰写 Vue 组件。 https://vue-loader.vuejs.org/zh/#vue-loader-%E6%9
本文向大家介绍contextType是什么?它有什么用?相关面试题,主要包含被问及contextType是什么?它有什么用?时的应答技巧和注意事项,需要的朋友参考一下 定义当前组件要使用哪一个context
本文向大家介绍childContextTypes是什么?它有什么用?相关面试题,主要包含被问及childContextTypes是什么?它有什么用?时的应答技巧和注意事项,需要的朋友参考一下 childContextTypes用来定义context数据类型,该api从16.3开始已被废弃 使用方式