Angular2フレームワークを使用して単一のページアプリケーションを作成しました。 Angular2コンポーネントを作成するためにtypescriptを使用しました。Angular2アプリケーションは、typescriptファイルで例外が発生した後に応答しなくなります
アプリケーションを実行しているとき、私は変数(x)のnull値を以下のAppComponentで取得しています。
例外が発生すると、カスタムエラーハンドラを使用してエラーを処理したにもかかわらず、次の行に進むことなくアプリケーションの実行を停止します。
アプリケーションをブロックすることなく例外をキャッチする(試行/キャッチせずに)例外があるかどうか教えてください。
エラーハンドラサービス:
import { ErrorHandler, Injectable} from '@angular/core';
@Injectable()
export class CustomErrorHandler implements ErrorHandler {
constructor() { }
handleError(error) {
console.log('Handling the error');
}
}
アプリケーションモジュール:
import { NgModule, ApplicationRef, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { CustomErrorHandler } from './error-handler';
import { ServicesModule } from './services';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
bootstrap: [AppComponent],
providers: [
{
provide: ErrorHandler,
useClass: CustomErrorHandler
}
]
})
export class AppModule { }
アプリケーションコンポーネント:事前に
import {Component} from '@angular2/core';
@Component({
selector:'my-app',
template:'<p>Hello {{name}}</p>'
});
export class AppComponent{
constructor(){
}
OnInit(){
let x:any=getDataFromServer(); //assume x got data from the server
let z:any= x.data.value; //error occurs if x is null
let name="Hello";
}
}
感謝。
あなたは[私は良い質問をするにはどうすればよい?](https://stackoverflow.com/help/how-to-askを通過してください、あなたはこれまでにしようとしているどのようなコードを追加することができます)。 –
@MadhuRanjanご返信ありがとうございます。サンプルコードを追加しました。私の問題の解決策があれば教えてください。 – Ashok