我正在尝试使用VirtualPathUtility.ToAbsolute解决应用程序相对路径,例如~/MyPage.aspx,应用程序绝对路径,例如/MySite/MyApp/MyPage.aspx.但是,对于某些路径,我收到一条HttpException说法,即我的路径"不是有效的虚拟路径".例子:
// This works:
var abs1 = VirtualPathUtility.ToAbsolute("~/MyPage.aspx#anchor");
// This errors:
var abs2 = VirtualPathUtility.ToAbsolute("~/MyPage.aspx?key=value");
这是怎么回事?
因此,我使用 ValidationPipe 来验证 NestJS 中的 DTO,如下所示:
// auth.dto.ts
export class AuthDto {
  @IsEmail()
  @IsNotEmpty()
  email: string;
}
如果没有异常过滤器,错误消息将按预期工作。我将电子邮件字段留空,然后收到一系列错误消息:
// Response - Message array, but no wrapper
{
  "statusCode": 400,
  "message": [
    "email should not be empty",
    "email must be an email"
  ],
  "error": "Bad Request"
}
完美的。现在我想为错误消息实现一个包装器,因此我创建一个新的过滤器并将其添加到引导程序中:
// main.ts
async function bootstrap() {
  // ...
  app.useGlobalFilters(new GlobalExceptionFilter());
}
bootstrap();
// global-exception.filter.ts
import {
  ArgumentsHost,
  Catch,
  ExceptionFilter,
  HttpException,
  HttpStatus,
} from '@nestjs/common';
import { Response } from 'express';
import { IncomingMessage …看来,例如,当我们传输文件时用户关闭窗口时,可能会抛出此HttpException(0x80072746 - 远程主机关闭连接).即使我们以较小的块发送文件并检查客户端是否仍然连接,仍然可能发生异常.我们希望能够捕获这个特定的异常,忽略它.
HttpException中提供的ErrorCode是一个Int32 - 太小而无法容纳0x80072746,那么我们在哪里可以找到这个数字?
我有时在output.aspx页面中出现以下错误:
异常详细信息:System.Web.HttpException:请求超时.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[HttpException(0x80004005):请求超时.]
抓住这个例外是一个好主意吗?我在哪里这样做,因为我的output.aspx.cs有一个Page_Load,该函数调用RunTable().我应该在功能内容周围放置一个try catch块吗?
我的问题如下:
throw new HttpException(422, "some message") 在控制器中不起作用.
然而,throw new HttpException(404, "some message")作品,以及400(等)
为什么我不能HttpException使用422 HTTP状态代码?
当我尝试时,我得到一个[200]响应与以下调试信息:
致命错误:在供应商\ symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php中的消息'注意:未定义偏移量:422 in app\cache\dev\classes.php第3079行' 未捕获异常'ErrorException' 67
(!)ErrorException:注意:未定义的偏移量:第67行的vendor\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php中的app\cache\dev\classes.php第3079行中的422
(如果它重要的话我使用FOSRESTBundle ......当然我清除了缓存)
我有一个 NestJS 控制器: search.controller.ts
import { Body, Controller, Post, Req, UseFilters } from '@nestjs/common';
import { HttpExceptionFilter } from '../exception/http-exception.filter';
import { SearchData } from './models/search-data.model';
import { SearchResults } from 'interfaces';
import { SearchService } from './search.service';
@Controller('')
@UseFilters(HttpExceptionFilter)
export class SearchController {
  constructor(private searchService: SearchService) {}
  @Post('api/search')
  async searchDataById(
    @Body() searchData: SearchData,
    @Req() req
  ): Promise<SearchResults> {
    return await this.searchService.getSearchResultsById(
      searchData,
      token
    );
  }
}
此搜索控制器使用名为HttpExceptionFilter的过滤器。每当抛出HttpException时就会触发此过滤器。我创建了ServiceException,它扩展了HttpException。每当出现错误时,我都会抛出 new ServiceException() 。 …
**main.py:**
def bucket_exists(bucket_name):
   try:
    something()
   except ClientError as error:
      error_code = int(error.response['Error']['Code'])
      if error_code == 403:
         raise HTTPException(status_code=403, detail=f"Private Bucket. Forbidden Access!")
      elif error_code == 404:
         raise HTTPException(status_code=404, detail=f"Bucket Does Not Exist!")
return flag
**test_main.py:**
def test_bucket_exists(mock_s3_bucket):
   
      resp = fetch_data.bucket_exists('abc123')
      assert resp == {"detail":"Bucket Does Not Exist!"}
我的测试失败并出现错误:fastapi.exceptions.HTTPException
请帮助处理 pytest 中已知的 httpException。我读过其他帖子,但与我的测试用例无关
在 Laravel 7 中,这段代码工作正常。usingrenderable方法也适用于 laravel 8。但我不确定如何在创建CustomException类后在 laravel 8 中注册它。
    public function render($request, Exception $exception)
    {
        if ($exception instanceof ValidationException) {
            if ($request->expectsJson()) {
                return response('Sorry, validation failed.', 422);
            }
        }
        return parent::render($request, $exception);
    }
当我使用下面的代码时,出现HttpStatusCodeException异常的情况是什么?
ResponseEntity<Object> response = 
  restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.GET, entity, Object.class);
任何人都可以帮忙吗????????
c# ×3
asp.net ×2
exception ×2
nestjs ×2
node.js ×2
typescript ×2
.net ×1
.net-3.5 ×1
ihttphandler ×1
java ×1
javascript ×1
laravel ×1
laravel-8 ×1
pytest ×1
python ×1
rest ×1
spring ×1
symfony ×1
system.web ×1