在 Python 中处理 ValueError:检测字符串和整数

当您尝试对错误的操作数使用运算符时,Python 将自动引发错误,并且您的程序将停止运行。当我们在执行操作之前无法检测变量的类型时,也会引发错误。

类似地,当函数调用正确但传递的参数或参数错误时,会引发 ValueErrors。当将错误的值分配给正确的函数时,Python 也会引发 ValueError。

异常处理是Python中处理错误的一种方法。它中断了程序的正常流程。可以使用代码中的 try: 和 except: 块手动完成异常处理。

如果没有正确检测字符串和整数,最常见的错误是 ValueError 。

了解 Python 中的错误和异常

ValueErrors 是 Python 中的一种异常,在程序运行时检测到。当程序中出现错误并且我们尝试按原样运行代码而不对其进行处理时,就会引发异常。Python中的大多数异常不是由其本身处理的,而是需要使用特殊类型的代码块。

使用 try 和 except 块处理异常

在 Python 中处理 ValueError 涉及使用异常处理来检测字符串和整数。当函数接收到错误类型的参数时,会发生 ValueError。要处理这些错误,请在代码中使用 try 和 except 子句。此方法有助于提高代码的稳健性并允许更优雅的错误处理。

try 和 except 块的工作方式如下:

  • 首先,执行 try 子句。
  • 如果在执行 try 子句下的代码期间引发错误,则执行 except 子句内的代码。
  • 如果没有引发异常,则执行 try 子句下的代码,然后程序照常运行。

类似:Python 属性错误 –(已解决)

Python 中整数和字符串的区别

整数是一种包含整数的变量,例如 1、2、50、60…等。而字符串是用双引号 (“”) 或单引号 (”) 括起来的字符序列。字符可以是任何内容,从字母到符号再到偶数。

在 Python 中,有一个名为 int() 的内置函数,它可以显式地将其他类型的变量(例如浮点数或字符串)转换为整数。

对于字符串,只有那些字符串可以转换为在双引号或单引号内包含从 0 到 9 的数字的整数。英文字母或特殊符号无法转换为整数,因此会引发 ValueError。

Python 中的 ValueError 示例

在下图中的代码块中,使用 math.sqrt() 函数计算平方根时传递的是字符串而不是整数。例如,如果我尝试将“abc”显式转换为整数,然后尝试求其平方根,我将不可避免地面临如下所示的 ValueError。

Python 中的值错误

实现 ValueError 的异常处理

让我们看看如何使用 try 和 except 子句来处理 ValueErrors。

让我们实现 ValueError 处理的 try 和 except 子句。

# importing required module
import math
 
var = input("Enter number= ")
# exception handling
# try clause
try:
    print(math.sqrt(int(var)), end=" This is the square root of the given number!")
# except clause
except ValueError:
    print("Please enter numerical values only! Not alphabets!")

现在,如果我们使用上一节中的值,即 abc,这就是我们得到的输出:

Enter number= abc
Please enter numerical values only! Not alphabets
Python 中的异常处理

相反,如果我们输入正确的输入,例如 16,我们将得到如下输出:

Enter number= 16
4.0 This is the square root of the given number!
Python 中的异常处理

请检查:Python 字符串包含:检查字符串是否包含子字符串。

结论:

在本文中,我们探讨了 Python 中的异常处理,重点是处理 ValueError。当函数接收到错误类型的参数时,就会发生这些错误。通过使用 try 和 except 子句,我们可以优雅地处理这些错误并提高代码的健壮性。作为一名程序员,您如何应用异常处理来增强您的项目并使其更不易出错?