---
title: 浮点异常检测简介
description: "毕昇编译器提供程序运行时浮点运算异常检测功能，并支持打印异常产生时的函数堆栈信息。该功能旨在提升HPC应用中浮点计算异常问题的定位效率。由于检测效率限制，当前仅支持检测到浮点异常产生的函数，堆栈信息中栈顶函数默认打印最后一行的行号，具体异常行号在函数中的位置需用户分析。浮点异常检测的类型如下（其中FE_INEXACT默认关闭，其他异常检测默认开启）："
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_30_0032.html
sourcePath: /source/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_30_0032.html
indexId: 0fe517d953b9cb2d01b2cf1ae2c0cd5399bbf04e4cd54f0f148294cc4b338b0874
---
# 浮点异常检测简介

毕昇编译器提供程序运行时浮点运算异常检测功能，并支持打印异常产生时的函数堆栈信息。该功能旨在提升HPC应用中浮点计算异常问题的定位效率。由于检测效率限制，当前仅支持检测到浮点异常产生的函数，堆栈信息中栈顶函数默认打印最后一行的行号，具体异常行号在函数中的位置需用户分析。浮点异常检测的类型如下（其中FE_INEXACT默认关闭，其他异常检测默认开启）：

| 浮点异常类型 | 异常说明 |
| --- | --- |
| FE\_INVALID（0x00000001） | 无效异常：如sqrt(\-1) |
| FE\_DIVBYZERO（0x00000002） | 除0异常：如1.0/0.0 |
| FE\_UNDERFLOW（0x00000004） | 下溢异常：如DBL\_MIN/pow(2.0,52) |
| FE\_OVERFLOW（0x00000008） | 上溢异常：如DBL\_MAX\*2.0 |
| FE\_INEXACT（0x00000010）（默认关闭） | 不精确异常：浮点需要取舍，如1.0/10.0 |
| FE\_ALL\_EXCEPT（0x0000001F） | 以上所有异常并集 |
