克诺德斯博客音频 |
阅读时间: 4 分钟
介绍。
编程的基本和重要方面之一是异常处理。一个程序需要一个环境来处理潜在的错误和异常情况。编程并不以编写执行和创造结果的代码而结束,因为我们还必须以用户友好的方式处理错误。
当我们运行一个程序时,有几种类型的错误可能发生。有些是在用户在代码中输入错误数据时发生的。而有些,如磁盘读取错误,发生在硬件故障时。而有些则是在编程错误时发生的,如一个坏的指针,导致程序失败。
我们可以根据错误的属性对错误的处理进行管理和分类。例如,无效的用户输入并不是一个严重的问题,而且它提示用户重新输入数据,我们可以在代码中使用规定。另一方面,磁盘读取或写入失败是一个不可恢复的错误。因此,为了让一部分错误得到恢复,必须对它们进行适当的处理。
我们在这里讨论的异常处理机制将发现错误的代码与处理错误的代码分开。
异常层次结构。
处理错误。
一般来说,我们有两个选择来处理错误,特别是那些被系统检测到的错误。
1- 包括拦截和处理错误的代码。
2- 让系统来处理,也就是忽略它。
假设我们决定处理错误,我们可以在检测错误的代码中处理错误,或者使用例外处理的方法,将检测和处理错误分开。
一个更好的优化错误的方法是使用任何一种编程语言的异常处理方法,我们正在使用这种方法。异常是一个预示着错误发生的事件。任何语言都允许我们将可能产生错误的代码与处理错误的代码分开。
try语句抛出一个异常,由Catch语句捕获。
通过使用异常处理,问题或错误可以在同一个函数或不同的函数中抛出。
,我们可以在抛出异常的同一个函数中捕捉异常。例如,我们可以在main中使用try和catch语句来捕捉和处理除以0的错误或找不到文件的错误。
try {
Code that contains logic to throw an exception
}
catch {
case _ => errorHandler(e)
}
Try语句:
Try语句允许程序员绑定可能导致错误的代码。try语句通过抛出一个异常,给catch语句提供了权力。如果没有错误,try语句就像一个简单的代码,而catch语句就被忽略了,因为没有它,代码也能正常工作。
Catch语句:
Catch语句是一个异常处理程序。它包含管理错误的重要逻辑。如果在错误发生时没有提供catch语句,问题就会中止。
使用异常处理机制。
让我们通过一个例子来了解它。以下是打开和读取一个文本文件的代码----。
import scala.io.Source
val file_Name = "Knoldus.scala"
for (line <- Source.fromFile(file_Name).getLines) {
println(line)
}
file_Name.close
在这段代码中,在传递上述内容后,可能会发生File Not Found异常或IO异常,因为可能缺少源,如下行所示。
Exception: FileNotFoundException
我们在Catch语句中插入错误类型,我们可以在该条件下传递消息或命令或任何代码。
通过使用这个Try和Catch语句,如下所示,我们的问题将得到解决。
var file_Name = "Knoldus.scala"
try {
text = openAndReadAFile(file_Name)
}
catch {
case e: FileNotFoundException => println("Couldn't find that file.")
case e: IOException => println("Had an IOException trying to read that file")
}
file_Name.close
总结。
这个话题在你的应用程序中会有很多有用的地方。不要把整个代码放在每个地方,而是要定义上述方法并在所有地方使用它。对于一小段代码在运行时可能抛出的所有异常,要把它作为一种实践。另外,尽量包括一个可能的行动方案,在这些异常发生时,用户应该遵循。
这就是我现在脑海中所有关于异常处理最佳实践的基本内容,任何初级水平的程序员都可以理解。语言并不重要。你可以用任何你想写的语言来写。如果你在python上工作,可以用 Except 来代替Catch。所以,把注意力放在逻辑上。如果你发现有什么遗漏,或者你对我的观点有什么不满,请给我留言。我将很高兴与你讨论。更多博客,请点击这里
祝你学习愉快!!