2017-12-26 6 views
0

私はすべてのタイプのランタイムエラーをserver.Canに投稿する必要があります。pls guide me。私はそれを検索しました。私は期待していません。コードCallGetBreakingNews法でC#を使用してangular2でtry catchを実行し、サーバに投稿する

 ngOnInit() 
     { 
      try{ 

       this.CallGetBreakingNews(); 
       } 
      catch(e) 
       { 
      console.log(e); 
       } 
       } 
      } 


      CallGetBreakingNews() { 
      this._service.GetBreakingNews().subscribe(
     res => { 
      this._brNews = res; 
      let _list: Array<BreakingNews> = []; 
      for (let i = 0; i <=this._brNews.length; i++) { 
     _list.push({ 
      id: this._brNews[i].id, 
      name: this._brNews[i].name 
      }); 
      } 
      this._brNews = _list; 
      }); 
      } 

の下に、私は私が< = this._brNews.length .IT右キャッチしに行くべき?.butそれは行かないとして間違った状態を置きます。

おかげ

+0

をあなたがキャッチしたいエラーを発生させるいくつかの最小限のサンプルコードを提供する必要があります。 – Pac0

答えて

1

あなたのカスタムエラーハンドラクラスを作成し、アプリケーションのためにそれを提供することができます。たとえば

main.ts:

import { ErrorHandler, Injectable} from '@angular/core'; 
import { NgModule, ApplicationRef, ErrorHandler } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { AppComponent } from './app.component'; 

@Injectable() 
export class CustomErrorHandler implements ErrorHandler { 
    constructor() { } 
    handleError(err) { 
    // implement your custom logic here 
    throw err; 
    } 
} 

@NgModule({ 
    declarations: [AppComponent], 
    imports: [BrowserModule], 
    bootstrap: [AppComponent], 
    providers: [ 
    { 
     provide: ErrorHandler, 
     useClass: CustomErrorHandler 
    } 
    ] 
}) 

export class AppModule { } 
+0

ありがとう。handleError.Iのコンソールログにエラーが書き込まれました。すべてのエラーはapp.module.tsから書き込む必要がありますか? "zone.js:2019 GET http://10.10.100.127:81/api/Setting/Region/RegionNames"というコンソールエラーが表示されるnet :: ERR_CONNECTION_TIMED_OUT – kamalav

+0

これは私のために役立ちます。他のエラーがキャッチされ、app.module.ts.can u plsから書き込んで、zone.jsエラーをキャッチするのに役立ちます。 – kamalav

+0

http取得方法のエラーもキャッチしていません – kamalav

0
try { 
    tryCode - Block of code to try 
} 
catch(err) { 
    catchCode - Block of code to handle errors 
} 
finally { 
    finallyCode - Block of code to be executed regardless of the try/catch result 
} 

これは、それは角度で同じように動作し、通常のJSはのtry/catchです。

+0

ありがとう、私はtypescriptのみを使用しています。私はthis.Butのようにキャッチしようとしましたが、エラーが発生したときにキャッチするつもりはありません – kamalav

+0

私にコードを表示できますか?多分問題がそこにあるのかもしれない。 – KLTR

+0

OPがrxjs/Observables(またはシンプルプロミス)を使用している場合、これは処理が異なる – Pac0

関連する問題