如何捕获“远程服务器返回错误:(403) 禁止”的异常。

2024-02-08

我收到“远程服务器返回错误:(403) 禁止。”错误并想捕获这个异常。我猜想 HttpException 块应该捕获它,如下所示,但事实并非如此。

catch (HttpException wex)
       {
       if (wex.GetHttpCode().ToString() == "403")
       //do stuff
       }

我不想使用通用异常块来捕获它。还有什么其他异常可以捕捉到这个?

请参阅随附的异常快照屏幕截图。


看起来该异常被包装在另一个 API 级异常对象中。您可以有条件地捕获您所追求的特定异常,否则重新抛出。使用这个助手:

static T GetNestedException<T>(Exception ex) where T : Exception
{
    if (ex == null) { return null; }

    var tEx = ex as T;
    if (tEx != null) { return tEx; }

    return GetNestedException<T>(ex.InnerException);
}

然后你可以使用这个 catch 块:

catch (Exception ex)
{
    var wex = GetNestedException<WebException>(ex);

    // If there is no nested WebException, re-throw the exception.
    if (wex == null) { throw; }

    // Get the response object.
    var response = wex.Response as HttpWebResponse;

    // If it's not an HTTP response or is not error 403, re-throw.
    if (response == null || response.StatusCode != HttpStatusCode.Forbidden) {
        throw;
    }

    // The error is 403.  Handle it here.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何捕获“远程服务器返回错误:(403) 禁止”的异常。 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 在搜索 List 时,为什么 Enumerable.Any(Func predicate) 比带有 if 语句的 foreach 慢

    最近有件事引起了我的好奇心 Why is the Enumerable Any Func
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 什么是 __declspec 以及何时需要使用它?

    我见过这样的例子 declspec在我正在阅读的代码中 它是什么 我什么时候需要使用这个构造 这是 Microsoft 对 C 语言的特定扩展 它允许您使用存储类信息来赋予类型或函数属性 文档 declspec C https learn
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • localStorage 内容带有时间戳以自行删除

    我想要一个本地存储内容的计时器 例如我有一个动态更新的 DIV div p test p div 并设法使用以下代码将其作为 html 块添加到 localStorage function localStorage homeNews JSO
  • PHP:替换 DateTime 对象

    我的站点托管的服务器位于 PHP5 12 14 上 当我从 PHP5 3 运行 DateTime 对象时出现错误 DateTime add Adds an amount of days months years hours minutes
  • 是否可以通过少于 9 次比较来检查 2 组 3 个整数是否相等?

    int eq3 int a int b int c int d int e int f return a d a e a f b d b e b f c d c e c f 该函数接收 6 个整数 如果前 3 个整数中的任意一个等于后 3
  • 斯威夫特图表库。如何在正确的位置显示X轴日期

    编辑 这是一个调试video https youtu be 8EMA4bnBIPs以及 我用这个library https github com danielgindi Charts在我的 Swift iOS 应用程序中显示图表 这是我的图
  • DateAdd 列导致溢出

    执行以下查询后 我收到错误 向 日期时间 列添加值导致溢出 我不知道为什么会发生这种情况 因为它已经顺利运行了几周 我只是想在此处添加日期并将它们与开始日期和结束日期进行比较between clause DATEADD day 1 DATE
  • ORG 汇编指令有什么作用?

    谁能给我一个关于 ORG 指令的全面描述 何时以及为何在汇编编写的应用程序中使用它 在 x86 或 AMD64 上使用 Nasm ORG用于设置汇编器位置计数器 这可能会也可能不会在链接时转换为加载地址 它可用于定义绝对地址 例如当定义诸如
  • 如何计算 C# 数组列表的滚动平均值?

    我正在尝试计算数组列表中每四个值的滚动平均值 并将这些值添加到单独的数组列表中 我的原始数组列表称为 numlist 它包含从 1 到 9 的值 List
  • Spring Boot - org.springframework.cglib.core.ReflectUtils$1 进行非法反射访问

    我在使用 Spring Boot 的 Spring 应用程序中遇到问题 WARNING An illegal reflective access operation has occurred WARNING Illegal reflecti
  • 我可以枚举可用的 WLAN 吗?

    我想获取我周围可用的 WLAN 的信息 例如 SSID 这可能吗 Edit 可能是 通过市场认证 的意思 不 这在当前的 API 集中不可用 而且我认为 Mango 集中也没有提到它
  • 计算一系列的总和?

    这是我的任务 在我的一生中 我似乎想不出办法来完成它 这是我到目前为止的代码 sum 0 k 1 while k lt 0 0001 if k 2 1 sum sum 1 0 k else sum sum 1 0 k k k 1 print
  • Python - 如何在没有引号和空格的情况下将字符串写入文件?

    是否可以写入不带引号和空格的文件字符串 列表中任何类型的空格 例如我有这样的列表 blabla 10 something 我怎样才能写入文件 使文件中的行变成这样 blabla 10 something 现在 每次我将其写入文件时 我都会得
  • 如何根据模式先决条件设置 Makefile 目标?

    我在 makefile 中有一系列模式依赖项 最后它们应该放在一个文件中 例如 x gt y gt onefile z 所以我制作了这样的文件 touch a x b x 和规则 y x some other script touch on
  • 对于大文件,fread 会失败吗?

    我必须分析一个 16 GB 的文件 我正在使用顺序阅读文件fread and fseek 可行吗 将要fread 处理这么大的文件 你没有提到语言 所以我假设是 C 我没有看到任何问题fread but fseek and ftell可能有
  • 如何从 VBA 创建单独的 CSV 文件?

    我需要将一些结果输出为 csv 文件 稍后由另一个进程解析 为了产生这些结果 我有一本巨大的工作簿 其中包含我需要的所有宏和函数 是否可以从 VBA 创建 单独的 csv 文件 是否可以使用 VBA 功能来写入它 而不仅仅是以 原始文本 方
  • Android 和客户端证书

    我已经寻找这个问题几个星期了 似乎无法在任何地方找到答案 我正在尝试为 Android 执行以下操作 此代码来自我编写的 C 应用程序 但我正在将其移植到 Android Web 端点需要将证书附加到相互身份验证的请求中才能进行 Web 服
  • PyCrypto : AssertionError("PID 检查失败。fork() 后必须重新初始化 RNG。提示:尝试 Random.atfork()")

    我正在创建执行不同任务的各种流程 其中之一 而且只有一个 具有创建 PyCrypto 对象的安全模块 所以我的程序启动 创建各种进程 处理消息的进程使用安全模块进行解密 我收到以下错误 firstSymKeybin self cipher
  • 为什么 Node.js 的 fs.readFile() 返回缓冲区而不是字符串?

    我正在尝试阅读以下内容test txt 位于 Javascript 源代码的同一文件夹中 并使用以下代码显示它 var fs require fs fs readFile test txt function err data if err
  • iPhone 上的 OpenGL 渐变填充看起来有条纹

    当我使用 OpenGL 绘制渐变填充时 输出看起来是条纹的 即它仅使用大约四分之一的可能颜色进行渲染 所有颜色都会出现在渲染缓冲区中 但不会出现在实际输出中 我正在运行 iOS4 的 iPhone 3G 上进行开发 有任何想法吗 Peter
  • 如何在 R 中永久更改 .libPaths() ?

    每当我使用以下命令更改库路径顺序时 libPaths 功能 如果我重新启动 R 它会恢复为默认值 如何永久更改此设置 我正在Linux计算集群上工作 我没有管理员权限 所以我想将我的本地库永久添加到R中 每次启动 R 时我都必须这样做 li
  • 如何捕获“远程服务器返回错误:(403) 禁止”的异常。

    我收到 远程服务器返回错误 403 禁止 错误并想捕获这个异常 我猜想 HttpException 块应该捕获它 如下所示 但事实并非如此 catch HttpException wex if wex GetHttpCode ToStrin