C#异常处理

server/2024/12/19 19:28:07/

异常处理

任何完美的应用程序和技术高明的程序员,都不能保证程序绝对不出差错,所以我们需要异常处理。通俗而言,程序中的错误可以分为以下3类:

(1)编译错误

在程序编译时产生的错误,通常由错误的语法或使用的资源不存在等原因引起。产生编译错误时程序无法运行,编译错误可以通过集成开发环境VS发现。

(2)逻辑错误

逻辑错误,不影响程序的正常运行,但会导致实际运行结果与预期结果不一致。通常是算法出现了错误,可以通过调试程序,对比期望值和实际值发现:

(3)异常

在程序运行过程中,干扰程序正常运行时产生的错误称为异常。异常是无法避免的,但是能够预计。为了使应用程序出现异常时不至于崩溃终止,必须对可能出现异常的代码进行异常处理。

异常处理的简单结构

try语句块如果发生异常,会在多个catch中寻找相应的异常类型,进入到相应catch代码块中。

常见异常类型(所有的异常类型都继承自Exception基类):

异常类

描述

System.IO.IOException

处理 IO 错误。

System.IndexOutOfRangeException

处理当方法指向超出范围的数组索引时生成的错误。

System.ArrayTypeMismatchException

处理当数组类型不匹配时生成的错误。

System.NullReferenceException

处理当依从一个空对象时生成的错误。

system.DivideByZeroException

处理当除以零时生成的错误。

System.InvalidCastException

处理在类型转换期间生成的错误。

System.OutOfMemoryException

处理空闲内存不足生成的错误,

system.StackOverflowException

处理栈溢出生成的错误。

System.Data.SqlClient.SqlException

SQL操作异常。


http://www.ppmy.cn/server/151519.html

相关文章

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:电影院后台管理系统(前后端源码 + 数据库 sql 脚本)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 项目介绍 2.0 用户登录功能 3.0 用户管理功能 4.0 影院管理功能 5.0 电影管理功能 6.0 影厅管理功能 7.0 电影排片管理功能 8.0 用户评论管理功能 9.0 用户购票功…

【iOS】OC语法知识小结

文章目录 前言inWithCustomView:视图弹出方法修改UITextField的占位符文本颜色视图变换的动态效果导航栏的阴影效果导航栏阴影效果管理和自定义阴影效果 reloadDatareloadData 方法的使用reloadData 的工作原理高效使用 reloadData 键盘的不同属性类型总结 前言 在之前写项目和…

如何将多张图片合并为一个pdf?多张图片合并成一个PDF文件的方法

如何将多张图片合并为一个pdf?当我们需要将多张图片合并为一个PDF文件时,通常是因为我们希望将这些图片整理成一个统一的文档,方便查看、分享或打印。无论是工作中需要提交的报告、学生们需要整理的作业,还是个人收藏的照片、旅行…

解决几个常见的ASP.NET Core Web API 中多线程并发写入数据库失败的问题

前言 在ASP.NET Core Web API应用程序中,当多个并发线程同时调用新增用户数据的接口时,可能会遇到数据库写入失败的问题。这个问题通常源于多个线程同时访问数据库时,可能会导致以下情况: 数据库连接池耗尽:每个线程…

使用 MyBatis-Plus Wrapper 构建自定义 SQL 查询

前言 MyBatis-Plus (MP) 是一款基于 MyBatis 的增强工具,它简化了数据库操作,提供了诸如自动分页、条件构造器等功能,极大地提高了开发效率。其中,Wrapper 条件构造器是 MP 的核心功能之一,它允许开发者以链式调用的方…

编写composer包和发布全攻略

laravel composer 扩展包开发(超详细) 快速发布一个composer扩展包 我之所以想先带大家快速了解一个composer包的发布过程,是因为我打算把二次封装的组件作为composer包发布。我必须了解composer组件怎么发布,有哪些功能。 创…

使用 Wireshark 和 Lua 脚本解析通讯报文

在复杂的网络环境中,Wireshark 凭借其强大的捕获和显示功能,成为协议分析不可或缺的工具。然而,面对众多未被内置支持的协议或需要扩展解析的场景,Lua 脚本的引入为Wireshark 提供了极大的灵活性和可扩展性。本文将详细介绍如何使…

Flink是什么?Flink技术介绍

官方参考资料:Apache Flink — Stateful Computations over Data Streams | Apache Flink Flink是一个分布式流处理和批处理计算框架,具有高性能、容错性和灵活性。以下是关于Flink技术的详细介绍: 一、Flink概述 ‌定义‌:Fli…