Fórum Exceção sem tratamento o que pode ser esse erro? #603026
16/06/2019
0
Criei um login com forms autenticathion e ele esta funcionando quando eu logo e entro no create, delete, ....ele aparece o erro Exceção sem tratamento e estou iniciando com asp. C#.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using estoque.Models;
namespace estoque.Controllers
{
public class GenerosController : Controller
{
private LivroContexto db = new LivroContexto();
// GET: Generos
[Authorize]
public ActionResult Index()
{
return View(db.Generos.ToList());
}
// GET: Generos/Details/5
[Authorize]
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// GET: Generos/Create
[Authorize]
public ActionResult Create()
{
return View();
}
// POST: Generos/Create
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome")] Genero genero)
{
if (ModelState.IsValid)
{
db.Generos.Add(genero);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}
// GET: Generos/Edit/5
[Authorize]
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// POST: Generos/Edit/5
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,Nome")] Genero genero)
{
if (ModelState.IsValid)
{
db.Entry(genero).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}
// GET: Generos/Delete/5
[Authorize]
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// POST: Generos/Delete/5
[Authorize]
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Genero genero = db.Generos.Find(id);
db.Generos.Remove(genero);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using estoque.Models;
namespace estoque.Controllers
{
public class GenerosController : Controller
{
private LivroContexto db = new LivroContexto();
// GET: Generos
[Authorize]
public ActionResult Index()
{
return View(db.Generos.ToList());
}
// GET: Generos/Details/5
[Authorize]
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// GET: Generos/Create
[Authorize]
public ActionResult Create()
{
return View();
}
// POST: Generos/Create
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome")] Genero genero)
{
if (ModelState.IsValid)
{
db.Generos.Add(genero);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}
// GET: Generos/Edit/5
[Authorize]
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// POST: Generos/Edit/5
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,Nome")] Genero genero)
{
if (ModelState.IsValid)
{
db.Entry(genero).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}
// GET: Generos/Delete/5
[Authorize]
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null)
{
return HttpNotFound();
}
return View(genero);
}
// POST: Generos/Delete/5
[Authorize]
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Genero genero = db.Generos.Find(id);
db.Generos.Remove(genero);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
Diego Ribeiro
Curtir tópico
+ 0
Responder
Posts
17/06/2019
Alex William
Olá amigo, tudo bem?
Para você captar a "Exception" que ta sendo lançada, use Try/Catch nas suas funções:
Para ficar mais especifico, voce ainda pode colocar um "BreakPoint" nos "throw e;" e ai voce consegue ver qual função ta dando erro, e se voce olhar a "StackTrace" da exceção você pode ver qual a linha ta dando problema.
Espero ter ajudado. :D
P.S.: Demorei mais tempo identando seu codigo, do que colocando Try/Catch porque você não usou as tags de code. Por favor, use nos proximos posts. Obrigado.
https://www.devmedia.com.br/forum/todo-mundo-deveria-ler-isso-antes-de-postar/602881
Para você captar a "Exception" que ta sendo lançada, use Try/Catch nas suas funções:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using estoque.Models;
namespace estoque.Controllers {
public class GenerosController : Controller {
private LivroContexto db = new LivroContexto();
// GET: Generos
[Authorize]
public ActionResult Index() {
try{
return View(db.Generos.ToList());
}catch(Exception e){
throw e;
}
}
// GET: Generos/Details/5
[Authorize]
public ActionResult Details(int? id) {
try{
if (id == null) {
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null) {
return HttpNotFound();
}
return View(genero);
}catch(Exception e){
throw e;
}
}
// GET: Generos/Create
[Authorize]
public ActionResult Create() {
try{
return View();
}catch(Exception e){
throw e;
}
}
// POST: Generos/Create
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome")] Genero genero) {
try{
if (ModelState.IsValid) {
db.Generos.Add(genero);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}catch(Exception e){
throw e;
}
}
// GET: Generos/Edit/5
[Authorize]
public ActionResult Edit(int? id) {
try{
if (id == null) {
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null) {
return HttpNotFound();
}
return View(genero);
}catch(Exception e){
throw e;
}
}
// POST: Generos/Edit/5
// Para se proteger de mais ataques, ative as propriedades específicas a que você quer se conectar. Para
// obter mais detalhes, consulte https://go.microsoft.com/fwlink/?LinkId=317598.
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,Nome")] Genero genero) {
try{
if (ModelState.IsValid) {
db.Entry(genero).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(genero);
}catch(Exception e){
throw e;
}
}
// GET: Generos/Delete/5
[Authorize]
public ActionResult Delete(int? id) {
try{
if (id == null) {
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Genero genero = db.Generos.Find(id);
if (genero == null) {
return HttpNotFound();
}
return View(genero);
}catch(Exception e){
throw e;
}
}
// POST: Generos/Delete/5
[Authorize]
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id){
try{
Genero genero = db.Generos.Find(id);
db.Generos.Remove(genero);
db.SaveChanges();
return RedirectToAction("Index");
}catch(Exception e){
throw e;
}
}
protected override void Dispose(bool disposing) {
try{
if (disposing) {
db.Dispose();
}
base.Dispose(disposing);
}catch(Exception e){
throw e;
}
}
}
}
Para ficar mais especifico, voce ainda pode colocar um "BreakPoint" nos "throw e;" e ai voce consegue ver qual função ta dando erro, e se voce olhar a "StackTrace" da exceção você pode ver qual a linha ta dando problema.
Espero ter ajudado. :D
P.S.: Demorei mais tempo identando seu codigo, do que colocando Try/Catch porque você não usou as tags de code. Por favor, use nos proximos posts. Obrigado.
https://www.devmedia.com.br/forum/todo-mundo-deveria-ler-isso-antes-de-postar/602881
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)