Dalam projek sebenar, lapisan logik perniagaan dan lapisan perkhidmatan hanya membuang pengecualian tetapi tidak mengendalikannya.
Tangkap pengecualian dan kendalikannya dalam lapisan pembentangan (pengelogan atau sesuatu)?
Nampaknya ini tidak terpakai jika bahagian depan dan belakang dipisahkan untuk ditangkap di mana perkhidmatan atau logik dipanggil? Adakah begitu?
Apakah pengendalian pengecualian dalam projek sebenar anda? Tolong beri saya beberapa petunjuk! ! ! ! !
Lapisan perkhidmatan akan melakukan pengelogan Secara umumnya, pengecualian yang dilemparkan ditangkap oleh lapisan pembentangan, tetapi ia juga akan ditangkap dan dilog terlebih dahulu dalam lapisan perkhidmatan dan kemudian dibuang
.Pertama sekali, kita perlu menjelaskan konsep: pengecualian dilemparkan kepada pengaturcara, bukan kepada pengguna.
Selepas menjelaskan konsep ini, adalah mudah untuk memahami mengapa pengecualian perlu dikendalikan dalam lapisan pembentangan - kerana lapisan pembentangan adalah penghalang terakhir antara pengaturcara dan pengguna, pengecualian mesti dibungkus dengan cantik dan dilemparkan kepada pelanggan, iaitu The so -dipanggil pengalaman pengguna.
Walau bagaimanapun, lapisan pembentangan pastinya bukan satu-satunya tempat yang perlu mengendalikan pengecualian tersebut, termasuk lapisan bawah, pelayan... semuanya perlu mengendalikan pengecualian dengan sewajarnya.
Sebagai contoh, antara muka yang disediakan oleh pelayan biasanya mengambil kira pengalaman pemanggil, jadi ia tidak akan membuang pengecualian secara langsung, tetapi perlu dirangkumkan pada tahap tertentu, dan pada masa yang sama, maklumat pengecualian direkodkan pada pelayan untuk semakan ralat.
Sudah tentu, untuk memudahkan dan menyatukan proses pemprosesan, pemprosesan pengecualian biasanya tertumpu pada tahap tertentu, termasuk lapisan persembahan.