小编Gel*_*elu的帖子

如何知道一条线是否与C#中的平面相交?

我有两个点(一个线段)和一个矩形.我想知道如何计算线段是否与矩形相交.

c# geometry 2d computational-geometry

34
推荐指数
1
解决办法
2万
查看次数

php中的例外...为什么没有人使用它们?

我是php的新手,当我在寻找如何使用套接字的例子时,我注意到它们都没有包含异常处理代码.

首先我认为也许php没有例外......但谷歌告诉我不然.有很多文章赞扬在php中使用异常(我来自Java和C#,我是一个转换过的)但是,在实例中,似乎没有人关心trys/catches.

是因为php在以前的版本中没有例外吗?

示例(伪代码):

$fp = fsockopen($allTheNeededParams);
if(!$fp){
   //error handling
}
fwrite($fp, $out);//<-what if something goes wrong here? the socket is never closed?
fclose($fp);
Run Code Online (Sandbox Code Playgroud)

在其他语言中,当你处理套接字时,你会看到try/catch到处都是.为什么不在PHP?

StackOverflow的两个例子:

谢谢你的时间!

php exception-handling

10
推荐指数
1
解决办法
752
查看次数

Angular 6错误处理-HttpErrorResponse具有未定义的状态

我有一个Angular 6客户端,它使用通过.Net Web Api开发的REST Api。

除错误处理外,其他所有东西都在工作。当我尝试处理错误以对不同的状态码(404、403、409、500 ...)做出不同反应时,我简直无法使其正常工作。HttpErrorResponse对象没有应假定的任何字段(例如“状态”或“错误”)。

我提供了一个超级简单的服务来重现该问题:

在service.ts上请求

 public test(): Observable<any> {
    let url = this.templatesUrl + '/myMethod';
    console.log('GET myMethod ' + url);

    return this.http.get<any>(url)
                      .pipe(catchError(this.handleError));
  }
Run Code Online (Sandbox Code Playgroud)

错误处理程序(与官方文档相当直接):

 private handleError(error: HttpErrorResponse) {
    console.warn(error);

    if (error.error instanceof ErrorEvent) {
      // A client-side or network error occurred. Handle it accordingly.
      console.error('An error occurred:', error.error.message);
    } else {
      // The backend returned an unsuccessful response code.
      // The response body may contain clues as to what went wrong,
      console.error(
        `Backend returned code …
Run Code Online (Sandbox Code Playgroud)

rest error-handling json http-status-codes angular

4
推荐指数
1
解决办法
1888
查看次数

Angular 6 错误处理 - 如何在模态中显示错误?

我试图在模态对话框中显示错误,但我是一个完整的 Angular 新手,我被卡住了。

该项目已经使用引导程序,所以我尝试使用 NgbModal:

    // in ErrorHandler

    handleError(error: Error) {

    //do other stuff

    console.error(error);

    this.modalService.open(ErrorDisplayComponent, //problems here
          {
          //modal options
          });
    }
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

Uncaught TypeError: Cannot read property 'open' of undefined
at NgbModal.push../node_modules/@ng-bootstrap/ng-bootstrap/fesm5/ng-bootstrap.js.NgbModal.open
Run Code Online (Sandbox Code Playgroud)

似乎 open 方法对 ErrorDisplayComponent 参数不满意。

即使这样有效,我也不知道如何将错误变量传递给 ErrorDisplayComponent(但如果我让它工作,我会处理这个问题)。

根据文档(https://ng-bootstrap.github.io/#/components/modal/api)“内容 [用于 open() 方法] 可以作为 TemplateRef 或组件类型提供。”

也许我应该尝试使用 TemplateRef 选项(但我不知道如何即时创建 TemplateRef),或者这种方法是错误的,我应该做其他事情。但由于我什至不知道行话,谷歌搜索答案并不容易。

有任何想法吗?

提前致谢!

更新:完整代码

错误处理程序.ts

    import { ErrorHandler, Injectable, Injector} from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ErrorDisplayComponent } from './errors/error-display/error-display.component';

@Injectable() …
Run Code Online (Sandbox Code Playgroud)

error-handling modal-dialog angular

3
推荐指数
1
解决办法
7719
查看次数

如何创建排序策略的枚举

我正在尝试编写一个可以同时接收集合和排序策略的排序方法.

我可以简单地收到一个IComparer,但我更愿意列举一些可能的排序策略.来电者必须从那里挑选他们的.

就像是:

public enum SortingStrategies { ByAgeDesc, ByAgeAsc, ByIncomeDesc, ByInconmeAsc };
Run Code Online (Sandbox Code Playgroud)

其中每一个(ByAgeDesc,ByAgeAsc ......)都是IComparer.

然后调用排序方法将是:

myObject.SortCollection(myCollection, SortingStrategies.ByIncomeDesc);
Run Code Online (Sandbox Code Playgroud)

是否可以创建实例枚举?这是个好主意吗?

提前致谢!

c# sorting enums

2
推荐指数
1
解决办法
599
查看次数